sql >> Database >  >> RDS >> PostgreSQL

Hoe wijzig ik de positie van een kolom in een PostgreSQL-databasetabel?

"Wijzig kolompositie" in de PostgreSQL Wiki zegt:

PostgreSQL definieert momenteel de kolomvolgorde op basis van de attnum kolom van het pg_attribute tafel. De enige manier om de kolomvolgorde te wijzigen, is door de tabel opnieuw te maken of door kolommen toe te voegen en gegevens te roteren totdat u de gewenste lay-out bereikt.

Dat is vrij zwak, maar ter verdediging is er in standaard SQL ook geen oplossing voor het herpositioneren van een kolom. Databasemerken die het wijzigen van de ordinale positie van een kolom ondersteunen, definiëren een uitbreiding van de SQL-syntaxis.

Een ander idee komt bij me op:je kunt een VIEW . definiëren dat specificeert de volgorde van kolommen zoals u het wilt, zonder de fysieke positie van de kolom in de basistabel te wijzigen.



  1. ORA-01618

  2. Propagation altijd ingeschakeld houden in Oracle Streams

  3. T-SQL-bugs, valkuilen en best practices – joins

  4. Door de gebruiker gedefinieerd type wijzigen in SQL Server