ved administration af PostgreSQL database servere, en af de mest almindelige opgaver, vil du sandsynligvis udføre en liste over de databaser og deres borde.

Postgres .l leveres med et interaktivt værktøj kaldet psql, som giver dig mulighed for at oprette forbindelse til serveren og køre forespørgsler mod den. Når du bruger psql, kan du også drage fordel af dens meta-kommandoer. Disse kommandoer er nyttige til scripting og kommandolinjeadministration., Alle meta-kommandoer begynder med en unoteduoted backslash og er også kendt som backslash kommandoer.

denne vejledning forklarer, hvordan man viser databaser og tabeller i en Postgres .l-server ved hjælp af psql.

Listing Databases #

Du kan oprette forbindelse til postgres .l-serveren ved hjælp af kommandoenpsql som enhver systembruger. Afhængigt af serverkonfigurationen skal brugeren muligvis indtaste sin adgangskode for at oprette forbindelse til psql terminal., For at få adgang til psql terminal som den bruger, du aktuelt er logget på, skal du blot skrive psql.

Når Postgres .l-pakken er installeret, oprettes en administrativ bruger ved navn “postgres”. Som standard kan denne bruger oprette forbindelse til den lokale Postgres .l-server uden en adgangskode.

for At åbne psql terminal som bruger “postgres”, kør:

sudo -u postgres psql
sudo kommando giver dig mulighed for at køre kommandoer, som en anden bruger.,

Fra psql terminal udføre \l eller \list meta-kommando for at liste alle databaser:

\l

output vil omfatte antallet af databaser, for hver database navn, sin ejer, kodning og få adgang til privilegier:

PostgreSQL-serveren har tre databaser oprettes som standard, template0, skabelon1, og postgres. De to første er skabeloner, der bruges til oprettelse af nye databaser.,

Hvis du vil have oplysninger om størrelsen på databaserne, standardtabeller og beskrivelser, skal du bruge \l+eller \list+. Databasestørrelsen vises kun, hvis den aktuelle bruger kan oprette forbindelse til den., af alle databaser uden adgang til psql shell, skal du bruge -c skifte som vist herunder:

sudo -u postgres psql -c "\l"

en Anden måde at liste de databaser, er at bruge følgende SQL-sætning:

SELECT datname FROM pg_database;

i Modsætning til den \l meta-kommando forespørgslen ovenfor viser kun navnene på de databaser:

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

Oversigt Tabeller #

en liste over alle tabeller i en database først, du er nødt til at oprette forbindelse til det ved brug af \c eller \connect meta-kommando., Den bruger, du er logget ind på PS .l-terminalen, skal kunne oprette forbindelse til databasen.,

For eksempel, til at oprette forbindelse til den database, som hedder “odoo” ville du skrive:

\c odoo

Når databasen er tændt, skal du bruge \dt meta-kommando til at liste alle database-tabeller:

output vil omfatte antallet af tabeller, navnet på hvert bord og sit skema, type, ejer:

Hvis databasen er tom, vil udskriften se ud som dette:

No relations found.

for At få oplysninger om størrelse af tabeller, og beskrivelser bruge \dt+.,

Konklusion #

Du har lært at liste PostgreSQL databaser og tabeller ved hjælp af psql kommandoen.