Creare una tabella temporanea in PostgreSQL

Introduzione

Quando si lavora con tabelle di grandi dimensioni in PostgreSQL, è possibile che sia necessario interagire con un determinato sottoinsieme di righe in una tabella più e più volte. Invece di filtrare ripetutamente la tabella per ottenere quel sottoinsieme di dati, è più efficiente recuperare quelle righe una volta e memorizzarle in una tabella temporanea. Questo tutorial vi insegnerà come creare una tabella temporanea e poi rimuoverlo quando hai finito.

Prerequisiti

Se desideri seguire gli esempi PostgreSQL in questo tutorial, assicurati di avere il server PostgreSQL installato e configurato sulla tua macchina. Il servizio deve essere in esecuzione in background.

Gli utenti Linux e Windows possono scaricare PostgreSQL qui.

Che cos’è una tabella temporanea PostgreSQL?

Le tabelle temporanee esistono nel proprio schema univoco, quindi non è possibile assegnare un nome di schema quando si crea questo tipo di tabella. Una tabella temporanea esiste solo fino a quando la sua sessione di database-questo significa che PostgreSQL abbandona automaticamente la tabella temporanea alla fine o una transazione o una sessione.

Esempio di caso d’uso per una tabella temporanea PostgreSQL

Le tabelle temporanee sono utili per gli sviluppatori di applicazioni e gli amministratori di database che interagiscono regolarmente con database di grandi dimensioni. Sono particolarmente utili in situazioni che richiedono l’interrogazione ripetuta o l’elaborazione di un piccolo sottoinsieme di dati all’interno di una tabella più grande.

In questo caso, possiamo memorizzare i dati filtrati nella tabella temporanea; possiamo quindi utilizzare questa tabella temporanea più e più volte senza andare al database effettivo. Queste tabelle risiedono all’interno di tempdb, che è anche un sistema di database.

Esistono due modi per creare una tabella temporanea. Primo, si può utilizzare il TEMPORARY clausola CREATE TABLE istruzione:

1
2
3
CREARE TABELLA TEMPORANEA your_temp_table_name(
);

in Alternativa, possiamo usare il TEMP clausola:

1
2
3
CREA TABELLA TEMPORANEA your_temp_table_name(

);

Le tabelle temporanee sono visibili solo all’interno della sessione in cui sono state create; nessun’altra sessione sarà in grado di visualizzarle.

Creazione di un esempio di tabella temporanea

Per creare una tabella temporanea, dobbiamo prima connetterci al nostro server PostgreSQL usando il comando psql. Quindi, creeremo un database, chiamandolo dbsandbox.

Possiamo farlo usando la seguente istruzione:

1
2
3
4
postgres = # CREA DATABASE sandboxdb;
CREA DATABASE
postgres = # \ c sandboxdb;
Ora sei connesso AL DATABASE ” sandboxdb “COME UTENTE”teamsolo”.

una Volta creato il database, è il momento di creare la nostra tabella temporanea utilizzando la seguente istruzione:

1
2
sandboxdb=# CREARE una TABELLA temporanea temptbl(INT);
CREA TABELLA

Con questa affermazione, abbiamo creato la nostra tabella TEMP denominata temptbl all’interno del database sandboxdb.

Per verificare che la tabella è stata creata correttamente, si può usare un SELECT istruzione:

1
SELECT * FROM temptbl;

Il risultato del nostro SELECT dovrebbe essere simile al seguente:

1
2
3
c

(0 RIGHE)

in questa sezione abbiamo detto che una tabella temporanea è visibile solo per la sessione corrente in cui è stato creato. Proviamo e vediamo se è vero creando un’altra sessione in PostgreSQL. In questa nuova sessione, proveremo a connetterci a temptable. Per fare ciò, prima esci dalla connessione corrente usando il comando \q, quindi prova a riconnetterti usando i passaggi precedenti. Un esempio di questo processo è mostrato di seguito:

1
2
3
4
5
postgres = # \ c sandboxdb;
Ora sei connesso AL DATABASE ” sandboxdb “COME UTENTE”teamsolo”.
sandboxdb= # SELECT * FROM temptbl;
ERRORE: la relazione “temptbl”NON esiste
RIGA 1: SELECT * FROM temptbl;

Si noti che abbiamo ricevuto un errore quando abbiamo provato a eseguire l’operazione SELECT contro la tabella temporanea temptbl. Ciò si verifica perché temptbl è stato immediatamente eliminato da PostgreSQL non appena abbiamo eseguito il comando \q e terminato quella particolare sessione.

Rimozione di un esempio di tabella temporanea

Nella sezione precedente, abbiamo imparato come creare una tabella temporanea. Ora, parliamo di come rimuovere o eliminare una tabella temporanea.

Di seguito è mostrata la sintassi utilizzata per eliminare una tabella temporanea:

1
DROP TABELLA your_temp_table_name;

Si noti che l’istruzione DROP TABLE non ha clausole come TEMPORARY e TEMP, a differenza dell’istruzione CREATE TABLE.

Diciamo che volevamo eliminare temptbl durante la sua sessione-possiamo farlo usando la seguente istruzione:

1
sandboxdb= # TAVOLO GOCCIA temptbl;

Conclusione

Non c’è dubbio che le tabelle temporanee possono aiutarti a ottimizzare le interazioni del database, consentendo di memorizzare un sottoinsieme più piccolo di righe da una tabella più grande invece di filtrare gli stessi dati ancora e ancora. In questo tutorial, abbiamo spiegato come creare una tabella temporanea e come rilasciarne una utilizzando le istruzioni CREATE TEMP TABLE e DROP TABLE. Utilizzando gli esempi che abbiamo fornito come guida, sarete in grado di creare e gestire tabelle temporanee per le proprie interazioni di database.

Lascia un commento

Il tuo indirizzo email non sarà pubblicato.