1.基本信息
2.安装
## 1.增加用户
# useradd postgres
## 2.下载软件解压 手动上传到服务器
# pwd
/admin
# tar zxf postgresql-10.15.tar.gz
# mv postgresql-10.15 postgresql-10.15_src
# chown -R root.root postgresql-10.15_src
## 3.编译安装
# yum install -y epel-release zlib-devel readline-devel gcc gcc-c++ perl-ExtUtils-Embed python-devel ## 安装依赖
# pwd
/admin/postgresql-10.15_src
# ./configure --prefix=/admin/postgresql-10.15 --with-python --with-perl
# make && make install
## 以下2命令可以不用执行, 执行后会生成比较实用的工具,建议安装. 会在
## /admin/postgresql-10.15/bin 下生成3个命令oid2name pg_standby vacuumlo
# cd /admin/postgresql-10.15_src/contrib
# make && make install
# chown -R postgres.postgres /admin/postgresql-10.15
## 设置为开机自启
# cp /admin/postgresql-10.15_src/contrib/start-scripts/linux /etc/init.d/postgresql
# chmod 755 /etc/init.d/postgresql
# chkconfig --add postgresql
# chkconfig postgresql on
## 详细内容如下
下载地址: https://download.csdn.net/download/sun_xuegang/14919929
文件名: postgresql
########## 到此处位置 主从安装都一样 ##########
## 3.1在主节点(11.100.5.136)操作
## (1)初始化数据库
# su - postgres
$ pwd
/admin/postgresql-10.15
$ ./bin/initdb -D /admin/postgresql-10.15/data/ ## 初始化数据库
## (2)修改配置,启动数据库
$ cat data/postgresql.conf
下载地址: https://download.csdn.net/download/sun_xuegang/14919929
文件名: M_postgresql.conf
# /etc/init.d/postgresql start ## 使用root用户启动数据库
## (3)创建主从备份用户
$ ./bin/psql
psql (10.15)
Type "help" for help.
postgres=# create role repl login replication encrypted password 'repl123';
CREATE ROLE
##(4)修改配置文件,追加最后一行,并重启使之生效
$ tail -4 data/pg_hba.conf
local replication all trust
host replication all 127.0.0.1/32 trust
host replication all ::1/128 trust
host replication repl 11.100.5.137/32 md5
## 详细内容如下
# /etc/init.d/postgresql restart ##重启数据库
## 3.2在从节点(11.100.5.137)操作
## (1)从主库将数据备份到从库
# su - postgres
$ pwd
/admin/postgresql-10.15
$ ./bin/pg_basebackup -h 11.100.5.136 -p 5432 -U repl -F p -P -D /admin/postgresql-10.15/data
## (2)修改配置 data/postgresql.conf
$ cat data/postgresql.conf #主要修改以下几个参数,
hot_standby = on
max_standby_streaming_delay = 30s
wal_receiver_status_interval = 10s
hot_standby_feedback = on
##详细信息如下
下载地址: https://download.csdn.net/download/sun_xuegang/14919929
文件名: S_postgresql.conf
## (3)修改配置data/recovery.conf
$ cat data/recovery.conf
recovery_target_timeline = 'latest'
standby_mode = on
primary_conninfo = 'host=11.100.5.136 port=5432 user=repl password=repl123'
## 详细内容如下
下载地址: https://download.csdn.net/download/sun_xuegang/14919929
文件名:recovery.conf
## (3)启动从库
# /etc/init.d/postgresql start
3. 验证主从
## 在主库执行
$ pwd
/admin/postgresql-10.15
$ ./bin/psql
psql (10.15)
Type "help" for help.
postgres=# \x
Expanded display is on.
postgres=# select * from pg_stat_replication ;
4.建库 建用户 授权
$ psql
psql (10.15)
Type "help" for help.
postgres=# create user appuser with password 'appuser123';
postgres=# create database cmdb_00;
postgres=# GRANT ALL privileges ON DATABASE cmdb_00 to appuser ;
postgres=# grant all privileges on all tables in schema public to appuser;
## 登录验证
$ psql --username=appuser --password -d cmdb_00
Password for user appuser:
psql (10.15)
Type "help" for help.
cmdb_00=> \q
4.错误排查
1.代码连接pgsql报错,信息如下
解决方法: 因为11.100.5.135 不在pgsql的信任列表,将这个ip添加到data/pg_hba.conf即可