Wenn Sie nur den vollständigen Namen (Typname und Schema) und eine sortierte Liste aller enum
Beschriftungen wünschen , führt diese Abfrage Folgendes aus:
SELECT n.nspname AS "schema", t.typname
, string_agg(e.enumlabel, '|' ORDER BY e.enumsortorder) AS enum_labels
FROM pg_catalog.pg_type t
JOIN pg_catalog.pg_namespace n ON n.oid = t.typnamespace
JOIN pg_catalog.pg_enum e ON t.oid = e.enumtypid
WHERE t.typname = 'my_enum_type'
GROUP BY 1,2;
Kehrt zurück:
schema | typname | enum_labels
public | my_enum_type | foo|bar
string_agg()
erfordert Postgres 9.0 oder höher, ersetzen durch array_agg()
für ältere Versionen.
Um die SQL- CREATE
Anweisung abzurufen , können Sie die Speicherauszugsdatei verwenden pg_dump
und anzeigen.
Oder, viel praktischer, verwenden Sie pgAdmin, das Reverse Engineered SQL-Erstellungsskripte für jedes Objekt in der Datenbank anzeigt. Wählen Sie es im aus object browser
und sein Erstellungsskript wird im angezeigt SQL pane
. Es besteht sogar die Möglichkeit, das Skript SQL editor
automatisch in ein neu geöffnetes Fenster des zu kopieren , wo Sie es bearbeiten und ausführen können.