Android

Πώς να καταχωρήσετε τις βάσεις δεδομένων και τους πίνακες postgresql χρησιμοποιώντας το psql

Web Programming - Computer Science for Business Leaders 2016

Web Programming - Computer Science for Business Leaders 2016

Πίνακας περιεχομένων:

Anonim

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

Η PostgreSQL έρχεται με ένα διαδραστικό εργαλείο που ονομάζεται psql οποίο σας επιτρέπει να συνδεθείτε με το διακομιστή και να εκτελέσετε ερωτήματα εναντίον του. Κατά τη χρήση του psql μπορείτε επίσης να επωφεληθείτε από τις μετα-εντολές του. Αυτές οι εντολές είναι χρήσιμες για τη διαχείριση σεναρίων και γραμμών εντολών. Όλες οι μετα-εντολές ξεκινούν με μια μη ανάθεση αντίστροφη κάθετος και είναι επίσης γνωστές ως εντολές backslash.

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

Λίστα βάσεων δεδομένων

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

Όταν εγκατασταθεί το πακέτο PostgreSQL, δημιουργείται ένας διαχειριστικός χρήστης με το όνομα "postgres". Από προεπιλογή, αυτός ο χρήστης μπορεί να συνδεθεί στον τοπικό διακομιστή PostgreSQL χωρίς κωδικό πρόσβασης.

Για να αποκτήσετε πρόσβαση στο τερματικό psql ως χρήστη "postgres", εκτελέστε:

sudo -u postgres psql Η εντολή sudo σάς επιτρέπει να εκτελέσετε εντολές ως άλλος χρήστης.

Από μέσα στο τερματικό psql εκτελέστε μετα-εντολή \l ή \list για να εμφανίσετε όλες τις βάσεις δεδομένων:

\l

Η έξοδος θα περιλαμβάνει τον αριθμό των βάσεων δεδομένων, το όνομα κάθε βάσης δεδομένων, τον κάτοχο, τα δικαιώματα κωδικοποίησης και πρόσβασης:

List of databases Name | Owner | Encoding | Collate | Ctype | Access privileges -----------+----------+----------+---------+---------+----------------------- odoo | odoo | UTF8 | C | C.UTF-8 | postgres | postgres | UTF8 | C.UTF-8 | C.UTF-8 | template0 | postgres | UTF8 | C.UTF-8 | C.UTF-8 | =c/postgres + | | | | | postgres=CTc/postgres template1 | postgres | UTF8 | C.UTF-8 | C.UTF-8 | =c/postgres + | | | | | postgres=CTc/postgres (4 rows)

Ο διακομιστής PostgreSQL έχει δημιουργήσει τρεις βάσεις δεδομένων από προεπιλογή, template0, template1 και postgres. Τα δύο πρώτα είναι πρότυπα που χρησιμοποιούνται κατά τη δημιουργία νέων βάσεων δεδομένων.

Για να λάβετε μια λίστα όλων των βάσεων δεδομένων χωρίς να έχετε πρόσβαση στο κέλυφος psql, χρησιμοποιήστε το διακόπτη -c όπως φαίνεται παρακάτω:

sudo -u postgres psql -c "\l"

Ένας άλλος τρόπος για να καταχωρήσετε τις βάσεις δεδομένων είναι να χρησιμοποιήσετε την ακόλουθη πρόταση SQL:

SELECT datname FROM pg_database;

Σε αντίθεση με τη μετα-εντολή \l , το παραπάνω ερώτημα θα εμφανίζει μόνο τα ονόματα των βάσεων δεδομένων:

datname ----------- postgres odoo template1 template0 (4 rows)

Λίστα πινάκων

Για να καταγράψετε πρώτα όλους τους πίνακες μιας συγκεκριμένης βάσης δεδομένων, πρέπει πρώτα να συνδεθείτε με τη μετα-εντολή \c ή \connect . Ο χρήστης στον οποίο έχετε συνδεθεί ως προς το τερματικό psql πρέπει να μπορεί να συνδεθεί στη βάση δεδομένων.

Για παράδειγμα, για να συνδεθείτε στη βάση δεδομένων που ονομάζεται "odoo" θα πληκτρολογήσετε:

\c odoo

Μόλις αλλάξει η βάση δεδομένων, χρησιμοποιήστε τη μετα-εντολή \dt για να καταγράψετε όλους τους πίνακες βάσης δεδομένων:

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

List of relations Schema | Name | Type | Owner --------+-----------------------------------------------------+-------+------- public | base_import_import | table | odoo public | base_import_mapping | table | odoo public | base_import_tests_models_char | table | odoo… public | web_editor_converter_test_sub | table | odoo public | web_tour_tour | table | odoo public | wizard_ir_model_menu_create | table | odoo (107 rows)

Εάν η βάση δεδομένων είναι κενή, η έξοδος θα έχει την εξής μορφή:

No relations found.

Για να λάβετε πληροφορίες σχετικά με τα μεγέθη των πινάκων και τις περιγραφές χρησιμοποιήστε το \dt+ .

συμπέρασμα

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

Μη διστάσετε να αφήσετε ένα σχόλιο εάν έχετε οποιεσδήποτε ερωτήσεις.

postgresql