没有特定数据类型的表的 PostgreSQL 信息模式查询

PostgreSQL information schema query for tables without a specific data type

我正在尝试编写一个 PostgreSQL 查询来获取所有 table(来自指定模式),这些 table 没有任何特定数据类型的列,例如,显示所有 tables 没有任何整数类型的列。到目前为止,我只能设法获得 table 名称、它们所拥有的列的数据类型及其数量,但我觉得这是获得我想要的东西的错误方向。感谢任何帮助,谢谢

SELECT Table_Name, Data_Type, COUNT(Data_Type)
FROM Information_schema.Columns
WHERE Table_Schema = 'project'
GROUP BY Table_Name, Data_Type

您需要从 tables table and then use an EXISTS subquery:

开始
SELECT table_name
FROM information_schema.tables
WHERE table_schema = 'project'
  AND NOT EXISTS (
    SELECT *
    FROM information_schema.columns
    WHERE column.table_schema = tables.table_schema
      AND column.table_name = tables.table_name
      AND data_type = 'integer'
  )