Nếu bạn có một máy chủ Linux thuộc dòng RedHat (bao gồm CentOS và Fedora), bạn có thể ghen tị với cách các bản phân phối Debian / Ubuntu xử lý quản lý cụm PostgreSQL.
Mặc dù không dễ dàng cài đặt các phiên bản PostgreSQL khác nhau trên cùng một máy chủ RedHat Linux bằng RPM, nhưng việc cài đặt một số phiên bản PostgreSQL (máy chủ) sẽ đơn giản hơn nhiều, đồng thời tận dụng cơ sở hạ tầng dịch vụ.
Khi bạn đã thiết lập cài đặt RPM, bằng cách làm theo các hướng dẫn mà bạn tìm thấy tại Kho lưu trữ PostgreSQL YUM, bạn sẽ nhận thấy rằng quá trình này sẽ tạo ra hai tệp trong số các tệp khác:
-
/etc/init.d/postgresql
:init script cho máy chủ PostgreSQL -
/etc/sysconfig/pgsql/postgresql
:cấu hình hệ thống cho dịch vụ postgresql
Theo mặc định, thư mục dữ liệu PostgreSQL (PGDATA
) trỏ đến /var/lib/pgsql/data
danh mục. Có thể thay đổi nó bằng cách sửa đổi /etc/sysconfig/pgsql/postgresql
tệp.
Giả sử chúng ta muốn cài đặt hai máy chủ PostgreSQL trên cùng một RedHat Linux, bằng cách thêm máy chủ thứ hai vào máy chủ mặc định sẽ được sử dụng cho mục đích phát triển. Chúng tôi sẽ gọi đây là postgresql-devel
. Nó sẽ được cài đặt trong /var/lib/pgsql/data-devel
và sẽ chạy trên cổng 5433.
Chúng tôi tạo một liên kết tượng trưng đến postgresql
chính init script và gọi nó là postgresql-devel
:
cd /etc/init.d/
ln -s postgresql postgresql-devel
Sau đó, chúng tôi bắt đầu điền vào postgresql-devel
tệp cấu hình trong /etc/sysconfig/pgsql
danh mục. Điều quan trọng cần lưu ý là tập lệnh init và tệp cấu hình hệ thống có cùng tên .
cat < /etc/sysconfig/pgsql/postgresql-devel
PGDATA=/var/lib/pgsql/data-devel
PGPORT=5433
PGLOG=/var/lib/pgsql/pgstartup.\${PGPORT}.log
EOF
Sau khi hoàn tất, bạn có thể khởi tạo thư mục dữ liệu bằng cách chạy:/etc/init.d/postgresql-devel initdb
hoặc đơn giản là service postgresql-devel initdb
.
Tương tự, bạn có thể kiểm soát việc khởi động và tắt dịch vụ, bằng cách chạy - tương ứng:
-
service postgresql-devel start
-
service postgresql-devel stop
Bạn có thể thêm / xóa tập lệnh khỏi khởi động và tắt hệ thống bằng cách sử dụng chkconfig
giống như cách bạn làm với các dịch vụ khác.
PostgreSQL wiki chứa một trang chi tiết về chủ đề này và tôi khuyên bạn nên đọc nó cùng với trang này. Tuy nhiên, bài viết đơn giản này chỉ cho bạn cách dễ dàng tích hợp nhiều phiên bản PostgreSQL trên cùng một máy chủ Linux và quản lý chúng bằng cơ sở hạ tầng dịch vụ RedHat tiêu chuẩn (nhờ công sức tuyệt vời của Devrim Gunduz).