首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >Postgresql不同时处理Citus和pg_stat_statements

Postgresql不同时处理Citus和pg_stat_statements
EN

Stack Overflow用户
提问于 2022-10-13 09:09:02
回答 2查看 100关注 0票数 0

因此,我在码头上构建了带有citus扩展的PostgreSQL。我在citus中使用正式文档,然后在终端中运行这个命令。

代码语言:javascript
复制
docker run -d --network citus-network --name citus_coordinator -p 5500:5432 -e POSTGRES_PASSWORD=mypassword citusdata/citus:11.1

然后成功地构建数据库。但是我想创建pg_stat_statements扩展。我配置了postgresql.conf文件。

代码语言:javascript
复制
shared_preload_libraries = 'pg_stat_statements'
pg_stat_statements.track = all
pg_stat_statements.max = 10000
track_activity_query_size = 2048

然后我重新启动了PostgreSQL容器。编写了这个查询

代码语言:javascript
复制
SELECT * FROM pg_stat_statements;

在终点站。我看到了这个错误

代码语言:javascript
复制
[55000] ERROR: pg_stat_statements must be loaded via shared_preload_libraries

我不明白,为什么配置文件没有看到这个扩展名,我的错误是什么?

EN

回答 2

Stack Overflow用户

回答已采纳

发布于 2022-10-18 08:35:16

解决了

我正在使用PostgreSQL映像运行postgres:latest容器。然后我进了集装箱。因此,我将来自这里的citus安装到容器中。然后将apt-get install postgresql-contrib安装到container.Next步骤中,运行create extension pg_stat_statements;,一切都对我有效。

票数 0
EN

Stack Overflow用户

发布于 2022-10-13 13:11:10

如果使用citus,那么citus应该始终是您的第一个共享预加载库。因此,您的postgres.conf应该看起来像:

代码语言:javascript
复制
shared_preload_libraries = 'citus,pg_stat_statements'
pg_stat_statements.track = all
pg_stat_statements.max = 10000
track_activity_query_size = 2048

如果您有员工,您也需要更改他们的postgresql.conf。

然后,您需要重新启动数据库(协调器和工作人员),您可以通过以下方法实现:

代码语言:javascript
复制
docker restart <container_name>

您可以确认这与以下内容一起工作:

代码语言:javascript
复制
SHOW shared_preload_libraries;
票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/74053201

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档