2009-08-25 15 views
0

Ich habe eine Einschränkung zu einer Postgres-Tabelle hinzugefügt, aber wenn ich "\ d Tabellenname" mache, wird die Einschränkung nicht angezeigt.Postgresql Constraint-Änderungen

Wie kann ich sehen, was die Einschränkungen sind? Ich bin sicher, das ist eine sehr einfache Sache, aber ich kann die Antwort nicht finden!

EDIT: die Einschränkung existiert tatsächlich und funktioniert.

BEARBEITEN: Erste Antwort zeigt nun, wie Constraint mit information_schema gefunden werden kann, aber diese Methode ist nicht sehr nützlich als Tabellenname/Spaltenname, auf den sich die Constraint bezieht, wird nicht angezeigt. Irgendwelche Ideen, wie man die Constraint-Ausgabe mit dem Befehl \ d aktiviert?

EDIT: Problem scheint sich nach einem Neustart von psql und Verschwendung 2 Stunden meines Lebens behoben zu haben. grrr

Antwort

0

OK. Ich fand heraus, was passierte und postete, um jemand anderen davon zu sparen, ihre Zeit zu verschwenden: Ich muss irgendwann den Befehl "\ t" eingegeben haben, um die Formatierung so zu ändern, dass nur Tupel angezeigt werden. Wo ist der schlagende Kopf gegen Ziegelwand Emoticon, wenn Sie es brauchen!

0

Normalerweise wird es in \d Ausgabe angezeigt. Mögliche Probleme, die ich denken kann, ist entweder alte Version postgresql oder Versionskonflikt zwischen psql und Server. Wenn Sie Ihre Einschränkungen von Hand herausfinden möchten, können Sie in information_schema Namespace pg_constraint Systemtabelle suchen.

+0

Danke. Ich benutze psql 8.3.7 aber es wird nicht angezeigt (Standard Debian Lenny-Paket. Ich habe es tun, wählen Sie * aus pg_constraint; –

+0

Wenn Ihr Server auch 8.3.7 ist, dann ist es seltsam und dort muss Ich kann alle Einschränkungen in 8.3.7 sehen. –

+0

Könnte sein. Ich bin neu zu Postgres und nur eine Vanille-Installation von Debian Lenny mit apt-get. UPDATE. Bizarre. nur von psql und zurück abgemeldet wieder und jetzt funktioniert es ... –