🧚 Ascolta! Beekeeper Studio è una GUI per PostgreSQL veloce, moderna e open source Scarica
19 agosto 2024 Di Matthew Rathbone

Per rinominare una tabella in PostgreSQL, usa l'istruzione ALTER TABLE seguita dalla clausola RENAME TO.

Prima di continuare a leggere, volevo parlarti della nostra GUI open source per PostgreSQL, Beekeeper Studio. Puoi rinominare una tabella facendo clic destro su di essa nella barra laterale, ed è gratuita per PostgreSQL: scaricala qui.

Sintassi

ALTER TABLE old_table_name RENAME TO new_table_name;

Esempio

Supponiamo che tu abbia una tabella chiamata customers e voglia rinominarla in clients. Il comando SQL sarebbe:

ALTER TABLE customers RENAME TO clients;

Dopo aver eseguito il comando qui sopra, la tabella customers verrà rinominata in clients. Puoi verificare la modifica interrogando information_schema o semplicemente elencando tutte le tabelle con \d:

SELECT table_name 
FROM information_schema.tables 
WHERE table_schema = 'public';

Output previsto:

table_name 
--------------
clients
other_table

Rinominare tabelle con dipendenze

Quando rinomini una tabella, è importante tenere conto delle dipendenze esistenti, come chiavi esterne, indici o trigger. PostgreSQL dovrebbe gestirle automaticamente, aggiornando i riferimenti alla tabella rinominata.

Esempio con chiave esterna

Supponiamo che la tabella orders abbia una chiave esterna che fa riferimento alla tabella customers:

CREATE TABLE orders (
    order_id SERIAL PRIMARY KEY,
    customer_id INT REFERENCES customers(customer_id)
);

Quando rinomini customers in clients, PostgreSQL aggiorna automaticamente il riferimento della chiave esterna:

ALTER TABLE customers RENAME TO clients;

Verifica

Per assicurarti che la chiave esterna funzioni ancora, puoi eseguire una semplice istruzione INSERT:

INSERT INTO clients (customer_id) VALUES (1);

INSERT INTO orders (customer_id) VALUES (1);

Se il riferimento della chiave esterna non fosse stato aggiornato, la seconda INSERT fallirebbe. Se va a buon fine, significa che PostgreSQL ha aggiornato correttamente il riferimento.

Rinominare una tabella in uno schema

Se la tua tabella si trova in uno schema specifico, devi includere lo schema nel comando ALTER TABLE.

Esempio

Considera una tabella sales.customers all'interno dello schema sales:

ALTER TABLE sales.customers RENAME TO clients;

La tabella sales.customers ora è sales.clients. Puoi verificarlo elencando le tabelle nello schema sales:

SELECT table_name 
FROM information_schema.tables 
WHERE table_schema = 'sales';

Output previsto

table_name
-----------
clients
other_table

Usare Beekeeper Studio

Rinominare una tabella in Beekeeper Studio è semplicissimo:

  1. Connettiti al tuo database PostgreSQL con Beekeeper Studio.
  2. Nel pannello di sinistra, espandi lo schema che contiene la tabella e vedrai un elenco di tabelle.
  3. Fai clic destro sulla tabella che vuoi rinominare e scegli l'opzione rename table.
  4. Inserisci il nuovo nome della tabella e premi Invio.

Beekeeper Studio si occuperà del resto, inviando il comando SQL appropriato al tuo database PostgreSQL.

Considerazioni e best practice

  • Nomi di indici e vincoli: anche se PostgreSQL aggiorna automaticamente dipendenze come le chiavi esterne, non rinomina indici o vincoli. Se i nomi dei tuoi indici o vincoli includono il vecchio nome della tabella, potresti doverli rinominare manualmente.

  • Permessi: rinominare una tabella non ne modifica i permessi. Gli utenti che avevano accesso alla vecchia tabella avranno lo stesso accesso a quella rinominata.

  • Dipendenze delle viste: se ci sono viste che dipendono dalla tabella, continueranno a funzionare dopo la ridenominazione, ma potresti volerle rivedere e aggiornare per maggiore chiarezza.

Conclusione

Rinominare tabelle in PostgreSQL è un'operazione semplice ma importante. Che tu stia lavorando con tabelle in schemi diversi o con tabelle che hanno dipendenze, PostgreSQL gestisce il processo senza intoppi, assicurandosi che tutti i riferimenti vengano aggiornati correttamente. Seguendo le best practice e capendo come funziona la ridenominazione, puoi mantenere l'integrità e l'organizzazione del tuo database.

Altri articoli che potrebbero piacerti:

Beekeeper Studio è una GUI per PostgreSQL gratuita e open source

Questo è il client PostgreSQL che stavo cercando! È l'interfaccia a fare la differenza: pulita, intuitiva, potente. Addio al macchinoso PGAdmin. - David Cyprian

Beekeeper Studio è un client PostgreSQL veloce, intuitivo e facile da usare. Supporta anche tantissimi altri database e funziona alla grande su Windows, Mac e Linux.

La versione Linux di Beekeeper è completa al 100%, senza tagli e senza compromessi sulle funzionalità.

Cosa dicono gli utenti PostgreSQL di Beekeeper Studio

Jay Simons Jay Simons Titolare, Designly.biz

A differenza di pgAdmin, Beekeeper è incredibilmente semplice da usare senza rinunciare alle funzionalità, e il prezzo è giusto! La funzione di backup del database è particolarmente utile. Un software davvero ottimo.

Alex M

Strumento favoloso, l'IDE più pratico che abbia trovato finora per amministrare database Postgres e MySql: funziona e basta, senza complicazioni :-)

Pronto a migliorare il tuo workflow PostgreSQL?

download Scarica gratis