我正在运行安装在Ubuntu16.04.3上的Postgres 9.4。Postgres是使用apt安装的,我也下载了apt的源代码和依赖项。我下载了pg_rewind REL9_4_STABLE分支并构建了它。当我尝试运行我的pg_rewind命令时,我得到以下信息:
The servers diverged at WAL position 0/6148D50 on timeline 1.
Rewinding from Last common checkpoint at 0/5000098 on timeline 1
SQL command failed
CREATE OR REPLACE FUNCTION rewind_support.rewind_support_ls_dir(text, boolean) RETURNS SETOF text AS '$libdir/pg_rewind_support' LANGUAGE C STRICT;
ERROR: could not access file "$libdir/pg_rewind_support": No such file or directory
Failure, exiting我找到了pg_rewind_support.so库文件,并把它放在pg_config -libdir和-pkglibdir返回的位置中,但没有成功。我甚至创建了一个没有.so扩展的副本。
$ls -la $(pg_config --pkglibdir)/pg_rewind_support*
-rw-r--r-- 1 root root 18768 Jul 16 17:59 /usr/lib/postgresql/9.4/lib/pg_rewind_support
-rw-r--r-- 1 root root 18768 Jul 16 17:50 /usr/lib/postgresql/9.4/lib/pg_rewind_support.so
$ls -la $(pg_config --libdir)/pg_rewind_support*
-rw-r--r-- 1 root root 18768 Jul 16 17:59 /usr/lib/x86_64-linux-gnu/pg_rewind_support
-rw-r--r-- 1 root root 18768 Jul 16 17:44 /usr/lib/x86_64-linux-gnu/pg_rewind_support.so我怎样才能让我的apt-获得安装的Postgres识别pg_rewind库呢?我不想最终在生产中运行一个完整的postgres,它是在内部打包和建造的。
发布于 2018-07-18 01:38:36
在与OP一起完成此过程时,构建pg_rewind的步骤如下:
pg_rewind必须安装在源系统上(以便.so在那里可用)和目标系统上(因此pg_rewind二进制文件在那里是可用的)。
https://stackoverflow.com/questions/51369676
复制相似问题