Ich weiß, dass \d table_name
alle Spalten für diese Tabelle aufgelistet sind, aber gibt es eine Möglichkeit, sie in alphabetischer Reihenfolge aufzulisten?
Ich weiß, dass \d table_name
alle Spalten für diese Tabelle aufgelistet sind, aber gibt es eine Möglichkeit, sie in alphabetischer Reihenfolge aufzulisten?
Antworten:
Verwenden Sie im Allgemeinen Folgendes information_schema
:
SELECT column_name
FROM information_schema.columns
WHERE table_schema = 'public'
AND table_name = 'blah'
ORDER BY column_name ASC;
ORDER BY ordinal_position
angezeigt werden, sind Sie ziemlich nah dran (es ist die Reihenfolge, in der sie sich bei der Tabellenerstellung befanden).
Dies funktioniert auch:
SELECT col_attr.attname as "ColumnName"
FROM pg_catalog.pg_attribute col_attr
WHERE col_attr.attnum > 0
AND NOT col_attr.attisdropped
AND col_attr.attrelid =
(SELECT cls.oid
FROM pg_catalog.pg_class cls
LEFT JOIN pg_catalog.pg_namespace ns
ON ns.oid = cls.relnamespace
WHERE cls.relname = 'MyTable')
ORDER BY "ColumnName" ASC