postgresql 操作
说明:主从复制现在遇到大问题,关闭两个postgresq互相通信的端口后,再重新打开,数据库的日志一直报错。
现在,就需要解决这个问题。
1.首先要了解主从复制是怎么搭建起来的
参考 https://blog.51cto.com/wn2100/2238996
- 登录
以下命令可以登入数据库 |
su deployer psql -U zt -d itom2 |
2.查看所有表
\dt 列出所有的表 \dt à display tables
standby 数据库的相关信息 |
10.162.241.67是主库 10.162.241.68是从库 |
#
68要连接67 可以知道67有一个用户名: rep_user 密码为:rep 这个用户是专门给68用的 |
这是在从库中看到的 |
3.查看所有用户
查看所有用户的命令是 \du du à display users |
|
4.postgresql 退出命令 \q qà quit
5.从主库拷贝数据到从库
参考 https://www.jianshu.com/p/4eda75082f1b
|
从主库拷贝数据到从库 pg_basebackup -D /opt/pgsql_data/ -Fp -Xs -v -P -h 10.162.241.67 -p 5432 -U rep_user |
|
6. 切换数据库
\c 数据库名 \c à change |
|
/home/deployer/pgsql/bin/pg_ctl -D /home/deployer/pgsql_data/ -l /home/deployer/pgsql.log start #启动
/home/deployer/pgsql/bin/pg_ctl -D /home/deployer/pgsql_data/ stop #停止
# itom为数据库,deployer 为用户名 密码为123456
/home/deployer/pgsql/bin/psql -h 127.0.0.1 -d itom -U deployer -p 5432 #连接
/opt/pgsql/bin/pg_ctl -D /opt/pgsql_data/ -l /opt/pgsql.log start #启动
/opt/pgsql/bin/pg_ctl -D /opt/pgsql_data/ stop #停止
# postgres 为数据库,postgres 为用户名 密码为123456
/opt/pgsql/bin/psql -h 127.0.0.1 -d postgres -U postgres -p 5432 #连接
开端口
sudo firewall-cmd --zone=public --add-port=5433/tcp --permanent
sudo firewall-cmd --reload
# 更改用户密码
alter user postgres with password '123456'
# 重启
#su - postgres
$pg_ctl restart
psql