Il metodo più comune per eseguire un inserimento di massa in PostgreSQL è il comando COPY che può prendere i dati da un file o da un input standard e inserirli in una tabella. Il comando COPY richiede che i dati siano in un formato specifico, solitamente un CSV o un file di testo.
Esploriamo come utilizzare questo comando per eseguire un inserimento di massa in PostgreSQL.
Inserimento in blocco di PostgreSQL
Esploriamo i passaggi per eseguire un inserimento di massa in PostgreSQL.
Prepara i tuoi dati
Prima di eseguire un inserimento di massa, assicurarsi che i dati di destinazione siano nel formato adatto. Ti consigliamo di configurare i tuoi dati in CSV o TSV. È possibile strutturare i dati di destinazione in righe e colonne separate da virgole o tabulazioni.
Connettiti a PostgreSQL
Successivamente, connettiti al tuo database PostgreSQL utilizzando il client desiderato. Per questo tutorial, utilizziamo l'utilità PSQL per facilità d'uso e accesso universale.
$ psql -IN postgres -D < nome del database >
Ad esempio, puoi eseguire la seguente query per utilizzare il database user_information:
$ psql -IN postgres -D informazioni utenteSe non si dispone del database di destinazione, è possibile crearlo utilizzando il comando CREATE DATABASE:
CREA DATABASE < nome_db >
Crea una tabella
Successivamente, dobbiamo assicurarci che la tabella in cui desideriamo inserire i dati esista. La struttura della tabella deve corrispondere alla struttura dei dati, inclusi i tipi di dati supportati.
Se la tabella non esiste, puoi utilizzare il comando CREATE TABLE:
CREATE TABLE rete_utenti (id CHIAVE PRIMARIA SERIALE,
nome utente VARCHAR ( 255 ) NON NULLO,
indirizzo_ip INET,
indirizzo_mac MACADDR,
mimo TESTO
) ;
Il comando dato dovrebbe creare una tabella chiamata 'network_users' con le colonne id, username, ip_address, mac_address e mime.
Una volta che la tabella è pronta, possiamo caricare i dati nella tabella PostgreSQL. Ancora una volta, è bene assicurarsi che il file di dati sia accessibile dalla macchina su cui è in esecuzione il server.
Eseguire l'inserimento di massa
Successivamente, possiamo utilizzare il comando COPY per caricare i dati dal file nella tabella del database. La sintassi del comando è la seguente:
COPIA nome_tabella ( colonna1, colonna2, colonna3 )DA 'percorso/del/file_dati'
CON ( FORMATO csv | testo, DELIMITATORE 'delimitatore' , INTESTAZIONE ) ;
Puoi specificare il formato (CSV o testo), il delimitatore utilizzato nel file (ad es. ',' per CSV, '\t' per TSV) e se il file include una riga di intestazione.
Ad esempio, per copiare i dati nella tabella 'network_users', possiamo eseguire il comando come segue:
copia network_users ( id , nome utente, indirizzo_ip, indirizzo_mac, mime ) da 'utenti_di_rete.csv' con ( formato csv, delimitatore ',' , intestazione ) ;
Ciò consente a PostgreSQL di caricare i dati dal file nella tabella. È possibile verificare se l'inserimento ha esito positivo interrogando i dati nella tabella.
PostgreSQL Bulk Insert PgAdmin
Possiamo anche utilizzare un'interfaccia grafica fornita da pgAdmin per importare un file di dati.
Inizia avviando pgAdmin e connettiti al tuo database PostgreSQL fornendo i dettagli di connessione necessari.
Successivamente, individuare la tabella in cui si desidera eseguire un inserimento di massa. Puoi trovare i tuoi database e le tue tabelle nel pannello del browser.
Fare clic con il tasto destro sulla tabella e selezionare 'Importa/Esporta'.
Nella procedura guidata 'Importa/Esporta', scegli l'opzione 'Importa' e seleziona il tipo di origine dati. Ad esempio, puoi importare una query o gli appunti da un file.
Nel passaggio successivo, fornisci i dettagli del file per l'inserimento collettivo. Selezionare il formato del file (CSV, TSV, per specificare il percorso del file di dati e impostare il delimitatore utilizzato nel file.
Una volta soddisfatti delle opzioni di importazione dei file, fare clic su 'Ok' per avviare il processo di importazione. Dovresti vedere lo stato del processo nel riquadro in basso a destra.
Puoi verificare se l'importazione ha esito positivo aprendo il Query Tool ed eseguendo la query:
SELEZIONARE * DA utenti_di rete;Produzione :
Conclusione
Abbiamo esplorato come utilizzare PSQL e pgAdmin per eseguire un inserimento in blocco da un file di dati esterno in una tabella di database PostgreSQL.