PostgreSQL
 sql >> Database >  >> RDS >> PostgreSQL

Come posso modificare la posizione di una colonna in una tabella di database PostgreSQL?

"Alter column position" nel wiki di PostgreSQL dice:

PostgreSQL attualmente definisce l'ordine delle colonne in base a attnum colonna dell'pg_attribute tavolo. L'unico modo per modificare l'ordine delle colonne è ricreare la tabella o aggiungere colonne e ruotare i dati fino a raggiungere il layout desiderato.

È piuttosto debole, ma a loro difesa, nell'SQL standard, non esiste nemmeno una soluzione per riposizionare una colonna. I marchi di database che supportano la modifica della posizione ordinale di una colonna stanno definendo un'estensione alla sintassi SQL.

Mi viene in mente un'altra idea:puoi definire una VIEW che specifica l'ordine delle colonne come preferisci, senza modificare la posizione fisica della colonna nella tabella di base.