首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >从postgresql不工作

问从postgresql不工作
EN

Stack Overflow用户
提问于 2016-11-22 04:52:22
回答 1查看 1.5K关注 0票数 1

我已经设置了主(192.168.1.10)和从(192.168.1.11) postgresql。登录到从postgresql时出现错误:

代码语言:javascript
复制
postgres@sonia-System-Product-Name:~$ psql
psql: FATAL:  the database system is starting up

使用以下命令传输数据:

代码语言:javascript
复制
psql -c "select pg_start_backup('initial_backup');"
rsync -cva --inplace --exclude=*pg_xlog* /data/dbs 192.168.1.11:/var/lib/postgresql/9.3/main/
psql -c "select pg_stop_backup();"

postgresql.conf是

代码语言:javascript
复制
listen_addresses = 'localhost,192.168.1.10'
wal_level = 'hot_standby'
archive_mode = on
archive_command = 'cd .'
max_wal_senders = 3
hot_standby = on

我不知道为什么我无法登录到从postgresql。SSH连接没有问题。我已尝试重新启动服务,但不起作用。请找个人帮帮我。

EN

回答 1

Stack Overflow用户

发布于 2016-11-24 01:52:37

问题解决了,分享了解决方案。谢谢。

代码语言:javascript
复制
   master server= 192.168.1.10
   slave server = 192.168.1.20

设置主服务器和从服务器postgresql配置主服务器

代码语言:javascript
复制
ssh-keygen 
ssh-copy-id the slave-ip-address
vi  /etc/postgresql/9.3/main/postgresql.conf
listen_addresses = '*'
wal_level = hot_standby
max_wal_senders = 3

创建复制角色:

代码语言:javascript
复制
CREATE USER repuser WITH REPLICATION PASSWORD 'password';

在主机上配置ip地址,以便从机可以访问主机: vi /etc/postgresql/9.3/main/pg_hba.conf

代码语言:javascript
复制
#rep
host    replication     repuser   192.168.1.20/24       md5
hostssl replication     repuser   192.168.1.20/24       md5

在从服务器上配置ip地址: vi /etc/postgresql/9.3/main/pg_hba.conf

代码语言:javascript
复制
host     replication     repuser   192.168.1.10/24    md5

在主服务器上停止posgresql服务(这一步非常重要,否则在运行psql时会在从服务器上得到日志错误。

代码语言:javascript
复制
/etc/init.d/postgresql stop

配置从服务器vi /etc/postgresql/9.3/main/postgresql.conf

代码语言:javascript
复制
listen_addresses = '*'
hot_standby = on

停止服务,清理备机数据

代码语言:javascript
复制
#/etc/init.d/postgresql stop
#cd /var/lib/postgresql/9.3/main/
#rm -rf *

创建恢复文件vi /var/lib/postgresql/9.3/main/ recovery y.conf

代码语言:javascript
复制
primary_conninfo = 'host=192.168.1.10 port=5432 user=repuser password=password'
standby_mode = on

将数据从主库复制到备库

代码语言:javascript
复制
rsync -av /var/lib/postgresql/9.3/main/* 192.168.1.20:/var/lib/postgresql/9.3/main/

同时在备机和主机上启动服务

代码语言:javascript
复制
slave:~# /etc/init.d/postgresql start
master:~# /etc/init.d/postgresql start

验证复制状态,并在主服务器上运行以下命令

代码语言:javascript
复制
psql -x -c "select * from pg_stat_replication;"
票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/40729151

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档