2009-08-25 3 views
0

Я добавил ограничение на таблицу Postgres, но когда я делаю «\ d tablename», ограничение не появляется.Изменения ограничений Postgresql

Как я могу узнать, какие ограничения существуют? Я уверен, что это очень простая вещь, но я не могу найти ответ!

EDIT: ограничение действительно существует и работает.

EDIT: первый отклик теперь показывает, как ограничение можно найти с помощью information_schema, но этот метод не очень полезен в качестве имени таблицы/столбца, связанное с этим ограничение не показано. любые идеи, как включить вывод ограничений с помощью команды \ d?

EDIT: проблема, похоже, устранена после перезагрузки psql и растрачивается на 2 часа моей жизни. grrr

ответ

0

OK. Я выяснил, что произошло и опубликует, чтобы спасти кого-то другого от потери времени: я должен был ввести команду «\ t» на каком-то этапе, чтобы изменить форматирование, чтобы показать только кортежи. Где трепетающая голова против смайликов кирпичной стены, когда вам это нужно!

0

Обычно оно появляется в \d выход. Потенциальные проблемы, о которых я могу думать, это либо старая версия postgresql, либо несоответствие версии между psql и сервером. Если вы хотите выяснить свои ограничения вручную, вы можете посмотреть в системной таблице information_schema имен pg_constraint.

+0

Спасибо. Я использую psql 8.3.7, но он не отображается (стандартный пакет debian lenny. Я нашел, что он делает «select * from pg_constraint;» – 2009-08-25 21:09:47

+0

Если ваш сервер также 8.3.7, то это странно, и я могу видеть все ограничения в 8.3.7. –

+0

Может быть, я новичок в postgres и просто сделал ванильную установку из debian lenny, используя apt-get. UPDATE. bizarre. только что вышел из psql и обратно снова и сейчас это работает ... – 2009-08-25 21:18:39

Смежные вопросы