PostgreSQL 外部数据包装器模拟约束

PostgreSQL foreign data wrapper mimic Constraints

使用 PostgreSQL 9.6.9

使用 Postgres 外部数据包装器时似乎约束不可用 https://github.com/postgres/postgres/blob/e1ae40f381d0582981b1e63856bd4b060cfe2d53/src/test/regress/expected/foreign_data.out#L692-L711

  • primary key constraints are not supported on foreign tables
  • foreign key constraints are not supported on foreign tables
  • unique constraints are not supported on foreign tables

我想要 运行 一个按主键分组并选择同一 table 中的其他列的查询。当主键约束不存在时,查询不起作用。 https://www.postgresql.org/docs/current/sql-select.html#SQL-GROUPBY.

A functional dependency exists if the grouped columns (or a subset thereof) are the primary key of the table containing the ungrouped column.

简单的解决方案是将其他列添加到 GROUP BY,但技术债务使这成为另一个挑战。

即使无法强制执行约束,是否有一种方法可以模仿或部分启用约束以使查询有效?

不,您必须将其他列添加到 GROUP BY 子句中。我假设“技术债务”是指需要键入所有列。使用智能文本编辑器!