我的 Citus 多租户数据库设置遇到问题,无法检索预期的租户统计信息。我目前正在 Ubuntu 服务器上运行 Citus 12.1-1,具有一个主节点和四个工作节点。下面,我详细描述了我的设置、我执行的操作以及我遇到的问题。
环境:
创建了两个表
companies
和campaigns
,其中id
中的companies
和company_id
中的campaigns
作为分布列:
CREATE TABLE companies (id BIGSERIAL, name TEXT);
SELECT create_distributed_table('companies', 'id');
CREATE TABLE campaigns (id BIGSERIAL, company_id BIGINT, name TEXT);
SELECT create_distributed_table('campaigns', 'company_id');
将数据插入到这些表中:
-- Insert data into companies
-- Insert data into campaigns
对这些表执行各种 SELECT 和 UPDATE 操作。
问题: 当查询
citus_stat_tenants
视图以监控租户相关统计信息时,未显示预期输出。使用的查询及其结果如下:
SELECT tenant_attribute, read_count_in_this_period, query_count_in_this_period, cpu_usage_in_this_period
FROM citus_stat_tenants;
预期结果:
tenant_attribute | read_count_in_this_period | query_count_in_this_period | cpu_usage_in_this_period
------------------+---------------------------+----------------------------+--------------------------
1 | 1 | 5 | 0.000299
3 | 0 | 4 | 0.000314
2 | 1 | 3 | 0.000295
实际结果:
tenant_attribute | read_count_in_this_period | query_count_in_this_period | cpu_usage_in_this_period
------------------+---------------------------+----------------------------+---------------------
(0 rows)
尝试解决:
如果您能为解决此问题提供任何指导或帮助,我将不胜感激。具体来说,我希望了解为什么
citus_stat_tenants
视图没有显示预期的租户统计信息,以及我可能采取的任何步骤来解决或纠正此问题。
谢谢。
预期结果:
tenant_attribute | read_count_in_this_period | query_count_in_this_period | cpu_usage_in_this_period
------------------+---------------------------+----------------------------+--------------------------
1 | 1 | 5 | 0.000299
3 | 0 | 4 | 0.000314
2 | 1 | 3 | 0.000295
是的,所以我通过尝试很多方法找到了这个问题的解决方案,解决方案是您需要将所有节点中的 citus.stat_tenants_track 设置为“all”才能跟踪统计信息。 您可以将设置放在 postgresql.conf 文件中,以便能够跟踪所有 citus.stat_tenants_track,但它对我不起作用,所以我在 trminal 中执行此功能并且它起作用了。
更改系统设置 citus.stat_tenants_track 为“全部”; 选择 pg_reload_conf();
谢谢。