Μαζικό ένθετο Postgres

Maziko Entheto Postgres



Ένα μαζικό ένθετο είναι μια διαδικασία που προσθέτει πολλές σειρές δεδομένων σε έναν πίνακα σε μία μόνο λειτουργία. Αυτό μπορεί να είναι πολύ πιο γρήγορο από την εισαγωγή μιας σειράς τη φορά, ειδικά όταν πρόκειται για μεγάλους όγκους δεδομένων.

Η πιο κοινή μέθοδος εκτέλεσης μαζικής εισαγωγής στο PostgreSQL είναι η εντολή COPY που μπορεί να λάβει τα δεδομένα από ένα αρχείο ή μια τυπική είσοδο και να τα εισαγάγει σε έναν πίνακα. Η εντολή COPY απαιτεί τα δεδομένα να είναι σε συγκεκριμένη μορφή, συνήθως CSV ή αρχείο κειμένου.

Ας διερευνήσουμε πώς να χρησιμοποιήσετε αυτήν την εντολή για να εκτελέσετε μια μαζική εισαγωγή στο PostgreSQL.







Μαζική εισαγωγή PostgreSQL

Ας εξερευνήσουμε τα βήματα για την εκτέλεση μιας μαζικής εισαγωγής στο PostgreSQL.



Προετοιμάστε τα δεδομένα σας

Πριν εκτελέσετε μαζική εισαγωγή, βεβαιωθείτε ότι τα δεδομένα στόχου είναι στην κατάλληλη μορφή. Σας συνιστούμε να διαμορφώσετε τα δεδομένα σας σε CSV ή TSV. Μπορείτε να δομήσετε τα δεδομένα προορισμού σε σειρές και στήλες που διαχωρίζονται με κόμματα ή καρτέλες.



Συνδεθείτε στο PostgreSQL

Στη συνέχεια, συνδεθείτε στη βάση δεδομένων PostgreSQL χρησιμοποιώντας τον πελάτη που επιθυμείτε. Για αυτό το σεμινάριο, χρησιμοποιούμε το βοηθητικό πρόγραμμα PSQL για ευκολία στη χρήση και καθολική πρόσβαση.





$ psql -ΣΕ postgres -ρε < όνομα βάσης δεδομένων >

Για παράδειγμα, μπορείτε να εκτελέσετε το ακόλουθο ερώτημα για να χρησιμοποιήσετε τη βάση δεδομένων user_information:

$ psql -ΣΕ postgres -ρε Πληροφορίες χρήστη

Εάν δεν έχετε τη βάση δεδομένων προορισμού, μπορείτε να τη δημιουργήσετε χρησιμοποιώντας την εντολή CREATE DATABASE:



ΔΗΜΙΟΥΡΓΙΑ ΒΑΣΗΣ ΔΕΔΟΜΕΝΩΝ < db_name >

Δημιουργήστε έναν πίνακα

Στη συνέχεια, πρέπει να διασφαλίσουμε ότι υπάρχει ο πίνακας στον οποίο θέλουμε να εισαγάγουμε τα δεδομένα. Η δομή του πίνακα πρέπει να ταιριάζει με τη δομή δεδομένων, συμπεριλαμβανομένων των υποστηριζόμενων τύπων δεδομένων.

Εάν ο πίνακας δεν υπάρχει, μπορείτε να χρησιμοποιήσετε την εντολή CREATE TABLE:

ΔΗΜΙΟΥΡΓΙΑ ΠΙΝΑΚΑΣ network_users (
ταυτότητα ΣΕΙΡΙΚΟ ΠΡΩΤΕΟ ΚΛΕΙΔΙ,
όνομα χρήστη VARCHAR ( 255 ) ΟΧΙ ΚΕΝΟ,
ip_address INET,
mac_address MACADDR,
μίμος ΚΕΙΜΕΝΟ
) ;

Η δοθείσα εντολή θα πρέπει να δημιουργήσει έναν πίνακα που ονομάζεται 'network_users' με τις στήλες id, username, ip_address, mac_address και mime.

Μόλις ο πίνακας είναι έτοιμος, μπορούμε να φορτώσουμε τα δεδομένα στον πίνακα PostgreSQL. Και πάλι, είναι καλό να διασφαλίσετε ότι το αρχείο δεδομένων είναι προσβάσιμο από το μηχάνημα όπου εκτελείται ο διακομιστής.

Εκτελέστε το μαζικό ένθετο

Στη συνέχεια, μπορούμε να χρησιμοποιήσουμε την εντολή COPY για να φορτώσουμε τα δεδομένα από το αρχείο στον πίνακα της βάσης δεδομένων. Η σύνταξη της εντολής είναι η εξής:

COPY table_name ( στήλη 1, στήλη 2, στήλη 3 )
ΑΠΟ 'path/to/data_file'
ΜΕ ( ΜΟΡΦΗ csv | κείμενο, DELIMITER 'οριοθέτης' , HEADER ) ;

Μπορείτε να καθορίσετε τη μορφή (CSV ή κείμενο), τον οριοθέτη που χρησιμοποιείται στο αρχείο σας (π.χ. ',' για CSV, '\t' για TSV) και εάν το αρχείο σας περιλαμβάνει μια σειρά κεφαλίδας.

Για παράδειγμα, για να αντιγράψουμε τα δεδομένα στον πίνακα 'network_users', μπορούμε να εκτελέσουμε την εντολή ως εξής:

αντιγράψτε network_users ( ταυτότητα , όνομα χρήστη, ip_address, mac_address, mime ) από 'network_users.
csv'
με ( μορφή csv, οριοθέτης ',' , κεφαλίδα ) ;

Αυτό επιτρέπει στην PostgreSQL να φορτώσει τα δεδομένα από το αρχείο στον πίνακα. Μπορείτε να επαληθεύσετε εάν η εισαγωγή είναι επιτυχής υποβάλλοντας ερώτημα στα δεδομένα του πίνακα.

PostgreSQL Μαζική εισαγωγή PgAdmin

Μπορούμε επίσης να χρησιμοποιήσουμε μια γραφική διεπαφή που παρέχει το pgAdmin για την εισαγωγή ενός αρχείου δεδομένων.

Ξεκινήστε εκκινώντας το pgAdmin και συνδεθείτε στη βάση δεδομένων PostgreSQL παρέχοντας τις απαραίτητες λεπτομέρειες σύνδεσης.

Στη συνέχεια, εντοπίστε τον πίνακα στον οποίο θέλετε να κάνετε μαζική εισαγωγή. Μπορείτε να βρείτε τις βάσεις δεδομένων και τους πίνακες σας στον πίνακα του προγράμματος περιήγησης.

Κάντε δεξί κλικ στον πίνακα και επιλέξτε «Εισαγωγή/Εξαγωγή».

Στον οδηγό 'Εισαγωγή/Εξαγωγή', επιλέξτε την επιλογή 'Εισαγωγή' και επιλέξτε τον τύπο προέλευσης δεδομένων. Για παράδειγμα, μπορείτε να εισαγάγετε ένα ερώτημα ή το πρόχειρο από ένα αρχείο.

Στο επόμενο βήμα, παρέχετε τις λεπτομέρειες του αρχείου για το μαζικό ένθετο. Επιλέξτε τη μορφή αρχείου (CSV, TSV, για να καθορίσετε τη διαδρομή προς το αρχείο δεδομένων σας και ορίστε τον οριοθέτη που χρησιμοποιείται στο αρχείο.

Μόλις είστε ικανοποιημένοι με τις επιλογές εισαγωγής αρχείων σας, κάντε κλικ στο 'Ok' για να ξεκινήσει η διαδικασία εισαγωγής. Θα πρέπει να δείτε την κατάσταση της διαδικασίας στο κάτω δεξιό παράθυρο.

Μπορείτε να επαληθεύσετε εάν η εισαγωγή είναι επιτυχής ανοίγοντας το Εργαλείο εξατομικευμένων αναφορών και εκτελέστε το ερώτημα:

ΕΠΙΛΕΓΩ * FROM network_users;

Παραγωγή :

συμπέρασμα

Εξερευνήσαμε πώς να χρησιμοποιήσουμε το PSQL και το pgAdmin για να εκτελέσουμε μια μαζική εισαγωγή από ένα εξωτερικό αρχείο δεδομένων σε έναν πίνακα βάσης δεδομένων PostgreSQL.