postgresql主从搭建
安装主数据库
dnf install -y https://download.postgresql.org/pub/repos/yum/reporpms/EL-9-x86_64/pgdg-redhat-repo-latest.noarch.rpm
dnf install -y postgresql16-server修改数据库数据目录
vim /usr/lib/systemd/system/postgresql-16.service 修改如下
Environment=PGDATA=/var/lib/pgsql/16/data/ 改为自己的数据目录Environment=PGDATA=/pgdata/16/data/创建数据库数据目录
useradd postgres
passwd postgres
mkidr /pgdata/16/data/
chown -R postgres.postgres /pgdata/16/data/
chmod 700 /pgdata/16/data -R初始化并启动
/usr/pgsql-16/bin/postgresql-16-setup initdb
systemctl enable postgresql-16
systemctl start postgresql-16创建同步用户
su - postgresql
psql
CREATE USER replicator WITH REPLICATION LOGIN ENCRYPTED PASSWORD 'replicator';修改数据库配置文件/pgdata/16/data/postgresql.conf
# 监听所有网络接口
listen_addresses = '*'
# 端口,保持默认
port = 5432
max_connections = 10000
shared_buffers = 256MB
# 设置WAL级别为replica,这是开启复制的前提
wal_level = replica
# 最大WAL发送进程数,至少大于从库数量
max_wal_senders = 10
# 为防止从库断开后主库WAL被清理,可设置保留WAL大小,例如1GB
wal_keep_size = 1GB
修改数据库安全配置文件/pgdata/16/data/pg_hba.conf
修改 host all all 0.0.0.0/0 scram-sha-256 为
host all all 0.0.0.0/0 scram-sha-256
增加以下配置其中10.0.0.1是从库的ip
host replication replicator 10.0.0.1/32 md5
重启主数据库
systemctl restart postgresql-16安装从数据库
dnf install -y https://download.postgresql.org/pub/repos/yum/reporpms/EL-9-x86_64/pgdg-redhat-repo-latest.noarch.rpm
dnf install -y postgresql16-server修改数据库数据目录
vim /usr/lib/systemd/system/postgresql-16.service 修改如下
Environment=PGDATA=/var/lib/pgsql/16/data/ 改为自己的数据目录Environment=PGDATA=/pgdata/16/data/创建数据库数据目录
useradd postgres
passwd postgres
mkidr /pgdata/16/data/
chown -R postgres.postgres /pgdata/16/data/
chmod 700 /pgdata/16/data -R在从库服务器执行同步命令,输入同步用户密码
sudo -u postgres pg_basebackup -h 10.0.0.3 -p 5432 -U repl_user -D /pgdata/16/data -Fp -Xs -P -v -R启动从库
systemctl enable postgresql-16
systemctl start postgresql-16查看同步状态
在主库上执行
SELECT application_name, state, sync_state, replay_lag FROM pg_stat_replication;
在从库上执行
SELECT pg_is_in_recovery();
- 感谢你赐予我前进的力量
赞赏者名单
因为你们的支持让我意识到写文章的价值🙏
本文是原创文章,采用 CC BY-NC-ND 4.0 协议,完整转载请注明来自 运维小白
评论
匿名评论
隐私政策
你无需删除空行,直接评论以获取最佳展示效果

