PostgreSQL
 sql >> Datenbank >  >> RDS >> PostgreSQL

Wie ändere ich die Position einer Spalte in einer PostgreSQL-Datenbanktabelle?

"Spaltenposition ändern" im PostgreSQL-Wiki sagt:

PostgreSQL definiert die Spaltenreihenfolge derzeit basierend auf attnum Spalte des pg_attribute Tisch. Die einzige Möglichkeit, die Spaltenreihenfolge zu ändern, besteht darin, entweder die Tabelle neu zu erstellen oder Spalten hinzuzufügen und Daten zu drehen, bis Sie das gewünschte Layout erreicht haben.

Das ist ziemlich schwach, aber zu ihrer Verteidigung gibt es in Standard-SQL auch keine Lösung für die Neupositionierung einer Spalte. Datenbankmarken, die das Ändern der Ordnungsposition einer Spalte unterstützen, definieren eine Erweiterung der SQL-Syntax.

Eine andere Idee kommt mir in den Sinn:Sie können eine VIEW definieren die die Reihenfolge der Spalten nach Belieben festlegt, ohne die physische Position der Spalte in der Basistabelle zu ändern.