在CentOS上搭建PostgreSQL集群有多种方法,以下是使用pgpool-II实现高可用集群的步骤:
环境准备:
安装PostgreSQL和pgpool-II:
sudo yum install https://download.postgresql.org/pub/repos/yum/reporpms/el-7-x86_64/pgdg-redhat-repo-latest.noarch.rpm -y
sudo yum install postgresql12 postgresql12-libs postgresql12-devel postgresql12-server -y
sudo yum install http://www.pgpool.net/yum/rpms/4.1/redhat/rhel-7-x86_64/pgpool-ii-release-4.1-2.noarch.rpm -y
sudo yum install pgpool-ii-pg12-* -y
配置pgpool-II:
/etc/pgpool-ii/pgpool.conf
,设置以下参数:listen_addresses = '*'
port = 9898
pcp_process_port = 9000
watchdog_port = 9694
sudo systemctl start pgpool-ii
sudo systemctl enable pgpool-ii
配置PostgreSQL:
sudo -u postgres psql
CREATE DATABASE postgres;
CREATE USER postgres WITH PASSWORD 'password';
ALTER ROLE postgres SET client_encoding TO 'utf8';
ALTER ROLE postgres SET default_transaction_isolation TO 'read committed';
ALTER ROLE postgres SET timezone TO 'UTC';
GRANT ALL PRIVILEGES ON DATABASE postgres TO postgres;
\q
listen_addresses = '*'
port = 5432
archive_mode = on
archive_command = 'cp "%p" "/var/lib/pgsql/archivedir/%f"'
max_wal_senders = 10
max_replication_slots = 10
wal_level = replica
hot_standby = on
启动PostgreSQL服务:
sudo systemctl start postgresql-12.service
sudo systemctl enable postgresql-12.service
验证集群状态:
通过以上步骤,你可以在CentOS上成功搭建一个高可用的PostgreSQL集群。