Wenn Sie nur den vollständigen Namen (Typname und Schema) und eine sortierte Liste aller enumBeschriftungen 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- CREATEAnweisung abzurufen , können Sie die Speicherauszugsdatei verwenden pg_dumpund 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 browserund sein Erstellungsskript wird im angezeigt SQL pane. Es besteht sogar die Möglichkeit, das Skript SQL editorautomatisch in ein neu geöffnetes Fenster des zu kopieren , wo Sie es bearbeiten und ausführen können.