2017-04-20 89 views
3

我遵循此link在Ubuntu postgresql服务器上创建主从复制。

我repmgr和PostgreSQL的配置是:

PostgreSQL的9.5-:/opt/PostgreSQL/9.5/

repmgr-:/usr/lib/postgresql/9.5/bin/repmgr

repmgr.conf - :/etc/rep.conf

根@本地:〜#pg_config --pkglibdir => /usr/lib/postgresql/9.5/lib

根@本地:〜#LS/USR/lib目录/ postgresq 1/9.5/lib | grep的repmgr_funcs => repmgr_funcs.so

我得到ERROR-:无法创建功能repmgr_update_last_updated:错误:无法访问文件 “$ LIBDIR/repmgr_funcs”:没有这样的文件或目录

错误:无法创建repmgr模式 - 查看前面的错误消息;堕胎

请帮我一把。我谷歌这个,但无法摆脱这个问题。谢谢你的时间。

+0

没有在正确的位置安装的lib? '$ pg_config --pkglibdir' => '/ usr/lib/postgresql/9.6/lib'然后 '$ ls /usr/lib/postgresql/9.6/lib | grep repmgr_funcs' => 'repmgr_funcs.so' –

+0

@ŁukaszKamiński我更新了这个问题,请检查......感谢您的回应 –

+0

您可以给出库位于的位置(在函数体中)的绝对路径,例如'AS'/ usr/lib目录/ PostgreSQL的/ 9.5/lib中/ repmgr_funcs''。但是,如果你已经在$ libdir中拥有它,这应该不重要。也许由于某种原因,postgres无法访问它的$ libdir。我不能悲伤地想出任何好的答案。 –

回答

2

您好,如果您使用repmgr版本。 4及以上,那么你需要从shared_preload_libraries = 'repmgr_funcs'
postgresql.conf
更改为shared_preload_libraries = 'repmgr'

下面是他们的升级说明 The repmgr shared library has been renamed from repmgr_funcs to repmgr, meaning shared_preload_libraries in postgresql.conf needs to be updated to the new name: shared_preload_libraries = 'repmgr'

相关问题