Re: [Postgresql-it] Alter table

  • From: Stefano Reksten <sreksten@xxxxxx>
  • To: postgresql-it@xxxxxxxxxxxxxxxxx
  • Date: Mon, 07 Feb 2005 18:36:01 +0100

At 17.39 07/02/2005, you wrote:

ho una tabella con un campo1 varchar(30) e dovrei portarlo a 50, putroppo sul campo sono stati costruiti indici, viste etc.. è possibile cambiare tale valore senza dover fare un drop del campo?

A braccio ti direi: dipende dalla versione del database. Dalla 8.0 si; altrimenti potresti fare
ALTER TABLE t ADD COLUMN campo2 varchar(50)
UPDATE t SET campo2 = campo1;
ALTER TABLE t DROP COLUMN campo1;
ALTER TABLE t RENAME COLUMN campo2 TO campo1;
ed eventualmente aggiungere vincoli eccetera.
Oppure, semplicemente, un pg_dump su file, modifichi nel file la dimensione della colonna e fai un pg_restore ;)
Ci sono almeno tre modi di fare quello che dici.

Ciao,
  Stefano


Other related posts: