Clonare tabelle in PostgreSQL

Mattepuffo's logo
Clonare tabelle in PostgreSQL

Clonare tabelle in PostgreSQL

Per clonare le tabelle in PostgeSQL abbiamo diverse possibilità.

In questo articolo vediamo alcune di queste (sicuramente ce ne sono altre che non conosco).

Cominciamo con quello più semplice:

CREATE TABLE utenti_clone AS (SELECT * FROM utenti);

Questo comando copia struttura e dati; se volessimo omettere i dati:

CREATE TABLE utenti_clone AS (SELECT * FROM utenti) WITH NO DATA;

In entrambi i casi però non vengono riportati indici e chiavi.

Per riportare anche questi possiamo usare LIKE:

CREATE TABLE utenti_clone (LIKE utenti);

Però questo comando non copia i dati, ma solo la struttura.

Un altro modo è usando AS TABLE:

CREATE TABLE utenti_clone AS TABLE utenti;
CREATE TABLE utenti_clone AS TABLE utenti WITH NO DATA;

Questi due comandi si comportano come il primo esempio, quindi in sostanza non copiano indici e chiavi.

Infine abbiamo l'esempio più classico usando la SELECT:

SELECT * INTO utenti_clone FROM utenti;

Anche questo ovviamente non copia indici e chiavi.

Enjoy!


Condividi su Facebook

Commentami!