PostgreSQL 没有复制某些更改(扩展)

标签 postgresql database-replication

我正在复制以下 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/

相关文章:

php - 如何将 PostgreSql 与 PHP 结合起来?

postgresql - 将列从 timestamp 更改为 timestamptz 会锁定表吗?

postgresql - 从选择查询中删除重复项

postgresql - 将 Postgres 包装成专用的 Phoenix App

redis master slave replication - 从站上丢失数据

postgresql - Sequelize PostgreSQL 字母排序

sql - 主从复制的可靠性如何?

mysql - 将 mysql 数据库从从服务器复制到另一个从服务器

postgresql - 如何检查热备是否服务于只读查询

python - Django:用于 prefetch_lated 的数据库与父查询不同