问题标签 [citus]

For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.

0 投票
1 回答
229 浏览

postgresql - CitusDB 是否支持`CREATE VIEW`?

假设我们有一个名为 的分布式 CitusDB 表customer_reviews,我们尝试在其上创建一个视图:

这似乎有效。但是如果我们运行:

CitusDB 给出以下错误:

两个问题:

  1. 有没有办法通过在所有工作节点上手动创建视图来解决这个问题?
  2. 对于在运行时自动创建和销毁视图的应用程序,有没有办法在主节点上制作CREATE VIEW和正常工作?DROP VIEW
0 投票
1 回答
110 浏览

postgresql - 将数据加载到新 CitusDB 实例中的最快方法是什么?

我正在使用以下命令按照有关Scaling Out Data Ingestion的说明进行操作:

我的集群有一个 master 和 8 个 worker,每个 worker 有两个 SSD。该表分布在 320 个分片中。

数据加载需要很长时间。平均插入率似乎约为每分钟 750k。这是正常的还是有办法加快速度?

我唯一能想到的是我启用了复制。是否应该关闭加载然后重置?

0 投票
1 回答
438 浏览

mysql - Citus 是否支持使用 mysql_fdw 创建分片?

该函数的 Citus文档master_get_table_metadata指出:

part_storage_type:用于表的存储类型。可以是“t”(标准表)、“f”(外来表)或“c”(柱状表)。

但是我搜索了整个文档,没有发现如何处理使用“f”(外部表)分区存储类型分发的表的示例。

我想可以使用以下方法创建初始外部表:

但是创建后如何分发这样的表?碎片将如何创建?

更新

我找到了这个

FOREIGN ('f') - 表示分片存储外部数据。(由分布式 file_fdw 表使用)

所以我的问题仍然存在:是否可以使用其他外部数据包装器,例如 mysql_fdw?

0 投票
2 回答
779 浏览

python - 将 CitusDB 与 SQL 炼金术一起使用

我在CitusDB 中使用caravel,但在连接到数据库节点时遇到问题。坦率地说,我不知道该怎么做。

我按照官方安装说明安装并运行。

psql我可以使用脚本登录到正在运行的主机,/opt/citusdb/4.0/bin但我无法从应用程序连接到它。Flask-SQLAlchemy 支持 postgresql 方言和驱动程序,运行的服务器似乎在 5432 端口上。我正在尝试使用psycopg2.

我已经关闭了该postgresql服务,因为这会干扰主节点的启动。

这是错误:

0 投票
1 回答
729 浏览

postgresql - 我可以更改现有 Citus 表的分配方法吗?

在从 MySQL 迁移到 Citus 集群期间,我使用了range分发方法。迁移已完成,但现在我想将分发方式更改为hash.

对于已有数据的现有表,有没有办法将分布方法从更改为更改rangehash

我想出了以下程序,但不确定它是否有效:

  1. 为所有正在更改的分片更新表的minvaluemaxvaluepg_dist_shard
  2. 将表的分片存储类型列pg_dist_partition从更新rh
  3. COMMIT;
0 投票
2 回答
904 浏览

postgresql - 所有分布式查询都使用 Citus 任务跟踪器执行器失败

我正在尝试在 Citus 5.0 上对分布式连接进行性能测试。我有一个主节点和两个工作节点,以及一些在默认配置下按预期运行的散列分布式表。我需要使用任务跟踪器执行器来测试需要重新分区的查询。

但是,设置citus.task_executor_type为后task-tracker,所有涉及分布式表的查询都会失败。例如:

置入具有相同citus.task_executor_typepostgresql.conf效果。

是否有一些我缺少的其他配置更改是切换任务执行器所必需的?

编辑,更多信息:

  • PostGIS 安装在所有节点上
  • postgres_fdw 安装在 master 上
  • 所有其他配置都是原始的

到目前为止,所有表格的分布如下:

的架构distrib_mcuser_car相当大,所以这里有一个更简单的例子:

0 投票
1 回答
948 浏览

postgresql - 如何使用来自多列的值分布表?

根据Citus 文档,使用单列分布表很容易:

有没有办法使用多列分配表?例如,类似:

0 投票
2 回答
226 浏览

postgresql - Citus 是否公开了用于修剪分片的哈希函数?

文档很好地描述了如何准备范围分区数据以插入目标分片。如果我知道确切的散列函数,我可以类似地准备数据以插入散列分布表。

此处暗示了这样的功能,但我无法在源代码中的预期位置找到它。

Citus 在哪里确定在分片修剪期间使用的哈希函数?

0 投票
1 回答
116 浏览

postgresql - 在 Citus 中,如何在 COPY 期间锁定分布式表?

Citus 不支持数据修改命令的多语句事务,因此无法LOCK在数据迁移过程中使用该命令防止并发访问。

在初始数据迁移期间,是否有任何方法可以锁定对表的访问?

0 投票
1 回答
69 浏览

postgresql - 无法设置`task_executor_type`

当我尝试将 citus 集群配置值放入postgresql.conf文件时:

我得到了错误:

请告诉我如何默认设置此配置值?我还没有准备好SET citus.task_executor_type TO "task-tracker"为每个连接运行。