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

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

Όταν συνδέομαι με την εντολή psql --username=postgres, πώς μπορώ να εμφανίσω όλες τις βάσεις δεδομένων και τους πίνακες;

Δοκίμασα τα \d, d και dS+ αλλά δεν εμφανίζεται τίποτα. Έχω δημιουργήσει δύο βάσεις δεδομένων και μερικούς πίνακες με το pgAdmin III, οπότε ξέρω ότι θα έπρεπε να αναφέρονται.

Λύση

Λάβετε υπόψη τις ακόλουθες εντολές:

  • \list ή \l: λίστα όλων των βάσεων δεδομένων
  • \dt: λίστα όλων των πινάκων της τρέχουσας βάσης δεδομένων

Δεν θα δείτε ποτέ πίνακες σε άλλες βάσεις δεδομένων, αυτοί οι πίνακες δεν είναι ορατοί. Πρέπει να συνδεθείτε στη σωστή βάση δεδομένων για να δείτε τους πίνακές της (και άλλα αντικείμενα).

Για να αλλάξετε βάση δεδομένων:

\connect database_name ή \c database_name

Ανατρέξτε στο εγχειρίδιο σχετικά με την psql.

Σχόλια (8)

Εδώ απαριθμούνται οι βάσεις δεδομένων:

SELECT datname FROM pg_database
WHERE datistemplate = false;

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

SELECT table_schema,table_name
FROM information_schema.tables
ORDER BY table_schema,table_name;
Σχόλια (6)

Το \l είναι επίσης συντομογραφία για το \list. Υπάρχουν αρκετές εντολές slash, τις οποίες μπορείτε να απαριθμήσετε στην psql χρησιμοποιώντας την εντολή \?.

Σχόλια (0)