Browse Source

Signed-off-by: zrufo <zrufo747@outlook.com>

zrufo 5 years ago
parent
commit
d2c5451c86
1 changed files with 122 additions and 0 deletions
  1. 122 0
      postgres.md

+ 122 - 0
postgres.md

@@ -0,0 +1,122 @@
+# 修改储存路径
+
+```shell
+systemctl edit postgresql-13.service
+```
+
+```service
+[Service]
+Environment=PGDATA=/home/postgresql/13/data/
+```
+
+
+
+# 添加postgres账户环境变量
+
+```shell
+vi .bash_profile
+```
+
+```
+PGDATA=/home/postgresql/13/data/
+```
+
+```shell
+vi .pgsql_profile
+```
+
+```sh
+PATH=/usr/pgsql-13/bin:$PATH
+export PATH
+```
+
+# 配置读写分离
+
+1. 登录postgres账户,修改主服务器配置文件:postgresql.conf
+
+    ```conf
+    listen_addresses= '*'
+    wal_level = replica
+    archive_mode = on
+    archive_command = 'cp %p /data/postgresql/archive/%f'
+    max_wal_senders= 10
+    wal_keep_size = 1000		# in megabytes; 0 disables
+    max_slot_wal_keep_size = 10	# in megabytes; -1 disables
+    wal_sender_timeout = 120s	# in milliseconds; 0 disables
+    hot_standby = on
+    ```
+
+2. 新建用户用于主从复制
+
+   ```sql
+   create user replica REPLICATION  LOGIN ENCRYPTED  PASSWORD 'asdf*123';
+   ```
+
+3. 将主从IP添加到hba配置文件:pg_hba.conf
+
+   ```
+   host    replication     replica         192.168.0.0/24 md5
+   host    all     all         0.0.0.0/0           md5
+   ```
+
+
+4. 在从服务器新建文件夹:
+
+   ```shell
+   mkdir -p /home/postgresql/13/data/
+   ```
+   
+5. 在从服务器执行命令在线热备份
+
+   ```shell
+   pg_basebackup -h 192.168.0.10 -U replica -F p -X s -v -P -R -D $PGDATA
+   ```
+6. 在从服务器执行命令启动服务器
+   ```shell
+   pg_ctl start
+   ```
+7. 主服务器测试
+   ```shell
+   psql
+   ```
+   ```sql
+   select client_addr,sync_state from pg_stat_replication;
+   ```
+   查看是否有从服务器连接
+# 备份恢复
+
+```shell
+# 备份
+pg_dumpall -h 127.0.0.1 -U postgres > /var/lib/pgsql/bakup1221.bakup
+# 恢复服务器从备份服务器下载备份文件
+scp postgres@192.168.0.3:"/var/lib/pgsql/bakup1221.bakup" /var/lib/pgsql/
+# 恢复,使用postgres账号
+psql -f bakup1221.bakup postgres
+```
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+