postgreSQL安装记录
一、安装
1.1 安装rpm文件
yum install -y https://download.postgresql.org/pub/repos/yum/reporpms/EL-7-x86_64/pgdg-redhat-repo-latest.noarch.rpm
此文件安装后会生成/etc/yum.repos.d/pgdg-redhat-all.repo文件。
1.2 安装服务端
yum install -y postgresql12-server
1.3 初始化数据库
1.3.1 使用默认目录
yum安装的postgresql的默认数据目录为/var/lib/pgsql/12/data。
/usr/pgsql-12/bin/postgresql-12-setup initdb
1.3.2 使用自定义目录
如果已经规划好别的数据目录,可以在初始化的时候用-D参数指定数据目录。
# 新建数据目录
mkdir -p /software/postgresql/data
# 授权
chown -R postgres:postgres /software/postgresql/data
# 切换到postgres用户,初始化
su - postgres
-bash-4.2$ /usr/pgsql-12/bin/initdb -D /software/postgresql/data
修改postgresql的system.service文件
vim /usr/lib/systemd/system/postgresql-12.service
切换root用户,修改数据目录
Environment=PGDATA=/software/postgresql/data
#重新加载系统服务
systemctl daemon-reload
1.4 设置启动数据库并设置数据库服务开机启动
systemctl enable postgresql-12
systemctl start postgresql-12
PostgresSQL安装后会自动在操作系统和数据库中创建postgres用户,无密码。
二、创建数据库
2.1使用postgres用户登录
su - postgres
2.2 登录数据库
默认使用的是数据库postgres用户。
psql
2.3 其他命令
\q #退出
\du #查看权限
三、修改数据库配置允许远程访问
在postgres用户下进行。
vim /var/lib/pgsql/12/data/postgresql.conf
取消listen_addresses = ‘*’ 的注释
vim /var/lib/pgsql/12/data/pg_hba.conf
在IPv4 local connections:下增加一行
host all all 0.0.0.0/0 md5
四、安装wal2json插件
4.1安装:
#安装查询
yum install wal2json12
#查询安装的结果
repoquery -ql wal2json10.x86_64
4.2 配置pg使用插件
vim /var/lib/pgsql/12/data/postgresql.conf
shared_preload_libraries = 'wal2json'
wal_level = logical
max_wal_senders = 20
max_replication_slots = 20
4.3 新建数据库用户
create user logical_rep replication login encrypted password 'logical_rep';
4.4 插槽创建查询删除
-- 创建槽,不指定解码插件默认用test_decoding
SELECT * FROM pg_create_logical_replication_slot('vilid_logical_slot_wal2json', 'wal2json');
--删除槽
SELECT * FROM pg_drop_replication_slot('vilid_logical_slot_wal2json');
--获取槽改变,同一时刻只有一个客户端能获取槽
SELECT * FROM pg_logical_slot_get_changes('vilid_logical_slot', NULL, NULL);
--查询所有槽
SELECT * FROM pg_replication_slots;
4.5 内网安装
内网环境下执行yum install wal2json12,会提示如下错误信息:
No more mirrors to try.
https://download.postgresql.org/pub/repos/yum/common/redhat/rhel-7-x86_64/repodata/repomd.xml: [Errno 14] curl#6 - “Could not resolve host: download.postgresql.org; Unknown error”
解决方案1:
4.5.1 下载yum源到本地
wget https://download.postgresql.org/pub/repos/yum/common/redhat/rhel-7-x86_64 \
-R \
--no-check-certificate \
然后复制到服务器上,搭建本地yum源后再安装。
本地yum源搭建:https://blog.csdn.net/wulei_123456789/article/details/121772550
4.5.2 下载rpm安装包到本地
yum install yum-utils
yumdownloader --resolve --destdir=/home/wal2json wal2json12
将下载的文件复制到服务器上
yum install -y wal2json12-2.3-2.rhel7.x86_64.rpm
链接: wal2json插件安装
链接: postgreSQL安装
链接: yum仓库搭建
链接: wget下载yun仓库文件
链接: 获取wal2json安装包