Получение списка сортируемых атрибутов таблицы по уникальности - PullRequest
1 голос
/ 23 января 2012

Я часто использую pg_dump, чтобы выгружать базы данных и сравнивать их с diff. Чтобы избавиться от большинства «ложных срабатываний», я бы хотел исправить патч pg_dump для сортировки таблицы, чтобы ее выгруженный порядок не изменялся больше, чем это необходимо вставками & Co.

Итак, я ищу запрос, который вернет список атрибутов таблицы, которые можно сортировать (например, без полей XML) и отсортировать по «уникальности», т.е. е. первые атрибуты, представляющие первичный ключ, затем другие уникальные ключи, затем остальные.

Прежде чем я углублюсь в глубины системных каталогов PostgreSQL, кто-нибудь уже решил эту проблему?

1 Ответ

1 голос
/ 24 января 2012

Вы можете написать несколько запросов, таких как:

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

и записать набор результатов каждой таблицы в файл CSV.Он будет записан в установленном порядке, поэтому его легко сравнить.

Это гораздо проще, чем взломать pg_dump.

Все столбцы таблицы можно получить с помощью стандартного INFORMATION_SCHEMA:

select * from information_schema.columns;
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...