我试图在postgres数据库中安装pglogical扩展,我用自制软件在macOS上安装了这个扩展。当我准备用数据库迁移服务将我的数据库迁移到CloudSQl时,我正在遵循GCP博客上提供的说明。
我正在努力完成这些步骤的以下步骤,并可能需要一些建议:
查找本地安装的Postgres,查找包含文件夹,将所有包含文件夹添加到C_INCLUDE_PATH
我的问题是:
pg_config --includedir的文件夹C_INCLUDE_PATH变量在哪里?(我搜索了pglogical,但没有找到它),或者在哪里创建C_INCLUDE_PATH变量?C_INCLUDE_PATH变量中?当我在pglogical中运行make时,我得到以下信息:
sed 's/__PGLOGICAL_VERSION__/2.4.1/;s/__REQUIRES__//' /.../.../Documents/pglogical/pglogical.control.in > /.../.../Documents/pglogical/pglogical.control发布于 2022-02-21 04:02:23
pglogical是第二象限提供的第三方PostgreSQL扩展,不是postgreSQL的一部分。其中有些是用C++编写的,因此必须在运行它的平台上编译和构建。虽然通过homebrew为macos提供了许多预先构建的工具和软件包,但pglogical似乎并不是其中之一--正是我对此的搜索使我想到了您的问题。
备选方案有:
在macos上构建和安装非常简单。在我的例子中,我使用homebrew安装了postgresql (14.1)。一旦完成:
brew doctormake PG_CONFIG=/usr/local/Cellar/postgresql/14.1_1/bin/pg_configmake PG_CONFIG=/usr/local/Cellar/postgresql/14.1_1/bin/pg_config install接下来,在postgres中向shared_preload_libraries添加扩展:
cd /usr/local/var/postgrespostgresql.conf shared_preload_librariesshared_preload_libraries = 'pglogical';brew services restart postgresql)最后,在本地服务器中启用扩展:
CREATE EXTENSION pglogicalCREATE EXTENSION这一切对我都有用!希望你的运气也一样好。
https://dba.stackexchange.com/questions/307728
复制相似问题