博客
关于我
postgresql 主从配置_生产环境postgresql主从环境配置
阅读量:804 次
发布时间:2023-03-03

本文共 2355 字,大约阅读时间需要 7 分钟。

PostgreSQL主从服务器配置指南

1. 安装软件并配置环境变量

主从服务器

安装PostgreSQL

# yum install postgresql -y# yum install postgresql-server -y

创建数据存储目录

# mkdir /data/pg_data# chown postgres:postgres /data/pg_data

配置环境变量

# vi /etc/profileexport PGDATA=/data/pg_data# source /etc/profile

2. 初始化数据库并启动服务

初始化数据库

# initdb -D /data/pg_data

启动数据库服务

# su postgresbash-4.2$ pg_ctl -D /data/pg_data startbash-4.2$ exit

设置开机启动

# vi /etc/rc.d/rc.local/usr/bin/postgres -D /data/pg_data

3. 创建同步用户

创建Replication用户

# su postgresbash-4.2$ psqlpostgres=# create role repuser login replication encrypted password 'password123';postgres=# \q

4. 配置PostgreSQL配置文件

修改pg_hba.conf

# vi /data/pg_data/pg_hba.confhost replication repuser 192.168.11.0/8 md5host all all 192.168.11.0/8 trust

修改postgresql.conf

# vi /data/pg_data/postgresql.conflisten_addresses = '192.168.11.131'wal_level = hot_standbymax_wal_senders= 6wal_keep_segments = 10240max_connections = 512archive_mode = onarchive_command = 'cp %p /data/pg_data/pg_archive/%f'

创建archive目录

# mkdir /data/pg_data/pg_archive

重新加载配置

# pg_ctl -D /data/pg_data reload

5. 从服务器配置

配置recovery.conf

# cp /usr/share/pgsql/recovery.conf.sample /data/pg_data/recovery.conf# vi /data/pg_data/recovery.confstandby_mode = onprimary_conninfo = 'host=192.168.11.131 port=5432 user=repuser password=password123 keepalives_idle=60'

修改postgresql.conf

# vi /data/pg_data/postgresql.conflisten_addresses = '192.168.11.132'wal_level = hot_standbymax_connections = 1000hot_standby = onmax_standby_streaming_delay = 30swal_receiver_status_interval = 10shot_standby_feedback = on

启动服务

# chmod 700 /data/pg_data# vi /etc/rc.d/rc.localsu postgres -c '/usr/bin/postgres -D /data/pg_data'

6. 验证配置

主服务器验证

# su postgresbash-4.2$ psqlpostgres=# select client_addr,sync_state from pg_stat_replication;client_addr | sync_state--------------+------------192.168.11.132 | async

从服务器验证

# su postgresbash-4.2$ psqlpostgres=# \l

7. 创建数据库并设置权限

创建数据库

postgres=# create database pgdata owner pgone;

设置权限

postgres=# grant all privileges on database pgdata to pgone;

8. 设置本地和远程登录密码

修改PostgreSQL密码

# su postgresbash-4.2$ psqlpostgres=# alter user postgres with password 'password321';

修改pg_hba.conf

# vi /data/pg_data/pg_hba.conflocal all all all all 127.0.0.1/32 trusthost all all 192.168.11.0/24 md5

重新加载配置

# pg_ctl -D /data/pg_data reload

9. 注意事项

  • 确保/data/pg_data目录权限正确
  • 定期备份数据库
  • 配置日志旋转策略
  • 建议使用SSL连接

转载地址:http://wixfk.baihongyu.com/

你可能感兴趣的文章
Python编程基础(附Pycharm与开发环境)
查看>>
python 如何“否定“value : 如果为真则返回假,如果为假则返回真
查看>>
Python 如何在 Web 环境中使用 Matplotlib 进行数据可视化
查看>>
python 如何把字符串转换成浮点数
查看>>
python 如果文件夹不存在就创建文件夹
查看>>
Python 如果有很多或以收缩形式
查看>>
Python 子进程 Popen 与 Pyinstaller
查看>>
Python 子进程 Popen.communicate() 等价于 Popen.stdout.read()?
查看>>
Python 子进程 Popen:为什么会出现“ls *.txt“?不行?
查看>>
Python 子进程参数
查看>>
python 字典 key 和value 互换
查看>>
Python 字典 vs If 语句速度
查看>>
python 字典sorted自定义排序,按照key or value排序
查看>>
python 字典和列表区别_元组列表和字典的主要区别是什么?
查看>>
python 字符串中特定字符替换,截取
查看>>
Python 字符串总结
查看>>
python 字符串显示中文_Python字符串开头的b"、u"、r"与中文乱码
查看>>
Python 字符串的几种拼装方式
查看>>
python 存入数据库bigint_python基础_MySQL的bigint类型
查看>>
python 学习 面向对象编程
查看>>