获取可按照唯一性排序的表的属性列表

时间:2012-01-23 16:12:59

标签: postgresql

我经常使用pg_dump来转储数据库并将它们与diff进行比较。为了摆脱大多数“误报”,我想修补pg_dump来对表格进行排序,这样它的转储订单就不会因插入和更改而超出必要的变化。有限公司

所以我正在寻找一个查询,它将返回一个表的属性列表,这些属性是可排序的(例如没有XML字段)并按“唯一性”排序,即i。即表示主键的第一个属性,然后是其他唯一键,然后是其余的。

在深入了解PostgreSQL的系统目录之前,有没有人已经解决了这个问题?

1 个答案:

答案 0 :(得分:1)

您可以编写一堆查询,例如:

COPY (SELECT * FROM T ORDER BY ...) INTO t.csv

并将每个表的结果集写入csv文件。它将以集合顺序编写,因此应易于比较。

这比黑客攻击pg_dump容易得多。

您可以使用标准INFORMATION_SCHEMA获取表格的所有列:

select * from information_schema.columns;