GreatSQL社区

搜索

reddey

从搭建PG主从复制的一个报错说起

reddey 已有 188 次阅读2025-5-20 14:15 |系统分类:运维实战


   最近在学习《postgres实战派》这本书,在搭建PG主从数据库复制时遇到一个报错如下。

我的实验环境如下:

  主节点和备节点操作系统均为centos7,PG数据库版本均采用15版本。然后各个节点的/etc/hosts也做了主机名的配置。然后在从节点上做了基础备份,将主备的数据拉到备节点。192.168.200.108为主节点的IP地址,replicator为主库上面创建的流复制用户名。

[postgres@slave01 data]$  pg_basebackup -h 192.168.200.108 -p 5432 -U replicator --password -X stream -Fp --progress -D $PGDATA -R

Password:

2502536/2502536 kB (100%), 1/1 tablespace

[postgres@slave01 data]$ ls

autoprewarm.blocks  log            pg_multixact  pg_stat_tmp  pg_xact

backup_label        pg_commit_ts   pg_notify     pg_subtrans  postgresql.auto.conf

backup_manifest     pg_dynshmem    pg_replslot   pg_tblspc    postgresql.conf

base                pg_hba.conf    pg_serial     pg_twophase  standby.signal

current_logfiles    pg_ident.conf  pg_snapshots  PG_VERSION

global              pg_logical     pg_stat       pg_wal

在备节点上启动备库的数据库如下:

[postgres@slave01 data]$ cd ..

[postgres@slave01 pgsql]$ bin/pg_ctl -D data/ start

waiting for server to start....2025-05-19 09:50:42.909 CST [33622] FATAL:  could not access file "file_fdw": No such file or directory

2025-05-19 09:50:42.909 CST [33622] LOG:  database system is shut down

stopped waiting

pg_ctl: could not start server

Examine the log output.

从上面的报错信息看,说是无法访问file_fdw扩展。由于备库数据库数据目录的数据是从主库拉取的,是不是以前主库的数据库配置文件里面加载了file_fdw扩展?

登录主节点查看数据库的配置文件postgresql.conf,发现果然加载了file_fdw扩展。立即修改postgresql.conf,将预加载扩展选项内容设置为空,然后重启主数据库。重新在备库重新做基础备份,然后再启动备库,这次成功启动了备库。

 总结:PG数据库的postgresql.conf文件非常重要,里面配置非常重要,有关于连接数量、日志归档、内存的使用、流复制、监听、查找优化、WAL日志等各个方面,里面的内容非常复杂。另外有相当一部分的参数修改了要生效,是要重启数据库的。在生产环境中,要重启数据库要有时间窗口的。在生产环境上线之初,大家最好就要将各项参数吃透,并且使设置的合理一些。有不少PG数据库的故障,可能要调整修改配置才能解决。

   仔细学习配置文件的每一项参数的使用场景,了解各项参数名称和值,如何设置最佳配置,是我们学习PG数据库一项重要内容。


评论 (0 个评论)

facelist

您需要登录后才可以评论 登录 | 立即注册

合作电话:010-64087828

社区邮箱:greatsql@greatdb.com

社区公众号
社区小助手
QQ群
GMT+8, 2025-7-2 11:15 , Processed in 0.017556 second(s), 9 queries , Redis On.
返回顶部