您的位置:首页 > 数据库

postgresql pgsql最新版安装指南及数据存储路径更改及主从配置

2017-01-06 14:17 656 查看

postgresql pgsql最新版安装指南及数据存储路径更改及主从配置

安装指南

首先在apt的list添加你当前系统版本对应的apt列表

目前官网有16.04,14.04,12.04 分别对应下面的xenial,xenial,precise

sudo vim /etc/apt/sources.list.d/pgdg.list


根据对应系统复制下面的repo到pgdg.list中,

deb http://apt.postgresql.org/pub/repos/apt/ xenial-pgdg main


deb http://apt.postgresql.org/pub/repos/apt/ trusty-pgdg main


deb http://apt.postgresql.org/pub/repos/apt/ precise-pgdg main


更新对应远程pg的repo的key

wget --quiet -O - https://www.postgresql.org/media/keys/ACCC4CF8.asc | sudo apt-key add -


更新本地的list

sudo apt-get update


安装PGSQL

sudo apt-get install postgresql


PGSQL更改数据的存储路径

找到配置文件查看原来的数据存储路径在哪

sudo find / -name postgresql.conf


一般是在
/etc/postgresql/9.6/main/postgresql.conf


停掉PGSQL

sudo service postgresql stop


拷贝原来的数据路径到新的路径下

sudo cp -rf /var/lib/postgresql/9.6/main/ /data/postgresql/


设置用户和权限

sudo chown -R postgres:postgres /data/postgresql/


sudo chmod 700 /data/postgresql/


将配置文件的数据存储路径改成新的

sudo vim /etc/postgresql/9.6/main/postgresql.conf


再启动就行了

sudo service postgresql start


PGSQL主从配置

修改postgresql.conf

sudo vim /etc/postgresql/9.6/main/postgresql.conf


listen_addresses = '*'


wal_level = replica


max_wal_senders = 2


wal_keep_segments = 64


hot_standby = on


创建一个超级用户来专门负责让standby连接去拖WAL日志

create user replica superuser password '1234';


将添加的用户添加到hba的配置中

sudo vim /etc/postgresql/9.6/main/pg_hba.conf


host  replication  replica  1.1.1.1  md5


pg_basebackup 创建备库

使用postgres用户创建备库

pg_basebackup -D /data/postgresql/ -Fp -Xs -v -P -h 1.1.1.1 -p 5432 -U replica


备库创建成功之后修改hba配置文件:

sudo vim /etc/postgresql/9.6/main/pg_hba.conf


添加以下的内容:

host    all             all          0.0.0.0/0            trust


host replication repuser       master               md5


配置recovery.conf

master端

sudo cp /usr/share/postgresql/9.6/recovery.conf.sample /data/postgresql/recovery.done


sudo vim /data/postgresql/recovery.done


修改以下的配置项

recovery_target_timeline = 'latest'


standby_mode = on


primary_conninfo = 'host=slave.ip port=5432 user=repuser password=repuser'


trigger_file = '/home/postgres/data/trigger_file'


slave端

sudo cp /usr/share/postgresql/9.6/recovery.conf.sample /data/postgresql/recovery.conf


sudo vim /data/postgresql/recovery.conf


修改以下的配置项

recovery_target_timeline = 'latest'


standby_mode = on


primary_conninfo = 'host=master.ip port=5432 user=repuser password=repuser'


trigger_file = '/home/postgres/data/trigger_file'


主从配置基本步骤到这就结束了。

如果进入从库遇到
psql: FATAL:  the database system is starting up
的问题只需要修改一下从库的配置文件postgresql.conf,设置
standby=on
就可以了。
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: