在CentOS上部署PostgreSQL集群通常涉及以下几个步骤,使用工具如repmgr
和Pgpool
来实现高可用性和负载均衡。以下是详细的部署方法:
sudo yum update -y
sudo yum install postgresql-server postgresql-contrib
postgresql-setup
初始化数据库集群。sudo /usr/pgsql/version/bin/postgresql-setup initdb
sudo systemctl start postgresql
sudo systemctl enable postgresql
编辑postgresql.conf
文件以进行必要的设置,例如:
listen_addresses = '*' # 允许远程连接
port = 5432 # 设置监听端口
max_connections = 100 # 设置最大连接数
shared_buffers = 256MB # 设置共享缓冲区大小
work_mem = 64MB # 设置工作内存大小
maintenance_work_mem = 256MB # 设置维护工作内存大小
effective_cache_size = 768MB # 设置有效缓存大小
checkpoint_segments = 8
checkpoint_completion_target = 0.9
wget https://repmgr.org/download/repmgr-5.3.3.tar.gz
tar -zxvf repmgr-5.3.3.tar.gz
cd repmgr-5.3.3
./configure
make -j 4
sudo make install
mkdir -p /var/lib/pgsql/data
vi /var/lib/pgsql/data/repmgr.conf
添加以下内容:node_id=1
node_name='pghost01'
conninfo='host=pghost01 user=repmgr dbname=repmgr connect_timeout=2'
data_directory='/var/lib/pgsql/data'
pg_bindir='/usr/pgsql/bin'
log_level=INFO
log_file='/var/log/repmgr/repmgr.log'
sudo -u postgres repmgr -f /var/lib/pgsql/data/repmgr.conf primary register
wget https://download.postgresql.org/pub/pgpool/pgpool-iv/pgpool-iv-5.3.4.tar.gz
tar -zxvf pgpool-iv-5.3.4.tar.gz
cd pgpool-iv-5.3.4
./configure
make -j 4
sudo make install
vi /var/lib/pgpool/data/pgpool.conf
添加以下内容:backend_hostname0 = 'pghost01:5432'
backend_hostname1 = 'pghost02:5432'
listen_port = 5432
sudo systemctl start pgpool
sudo systemctl enable pgpool
psql
或其他数据库客户端工具连接到Pgpool。psql -h localhost -U pgpool -d your_database
以上步骤提供了一个基本的PostgreSQL集群部署流程,具体配置可能需要根据实际需求进行调整。
辰迅云「云服务器」,即开即用、新一代英特尔至强铂金CPU、三副本存储NVMe SSD云盘,价格低至29元/月。点击查看>>
推荐阅读: CentOS系统下的自动化脚本如何编写