我正在复制以下 this doc使用 PostgreSQL 数据库服务器的主从复制。在集群前面有一个 pgpool 实例作为负载均衡器。到目前为止,一切都很好。
问题是当我从应用程序查询数据库并使用数据库中的特定函数时,这些函数使用一些扩展名,如 pg_trgm 或 pg_prewarm 来举例。每次查询与其中一个从站平衡时,我都会收到一个异常,告诉我我正在尝试使用的扩展丢失了。
Could not access file $libdir/pg_trgm
当我在主服务器上的每个数据库上使用 \dx
检查扩展列表时,我收到完整的列表,但在从服务器上它只是弹出 plpgsql。
因为从服务器是只读服务器,所以我不能在那里创建扩展。
有没有办法可以将扩展创建复制到从属服务器?
提前致谢!
最佳答案
您忘记在备用计算机上安装“contrib”PostgreSQL 软件包。因此,无法创建扩展。
关于PostgreSQL 没有复制某些更改(扩展),我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/58598764/