Android

Sådan vises postgresql-databaser og tabeller vha. Psql

Python Web Apps with Flask by Ezra Zigmond

Python Web Apps with Flask by Ezra Zigmond

Indholdsfortegnelse:

Anonim

Når du administrerer PostgreSQL-databaseservere, er en af ​​de mest almindelige opgaver, du sandsynligvis udfører, en liste over databaserne og deres tabeller.

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

Denne tutorial forklarer, hvordan man viser databaser og tabeller i en PostgreSQL-server ved hjælp af psql .

Liste over databaser

Du kan oprette forbindelse til PostgreSQL-serveren ved hjælp af kommandoen psql som enhver systembruger. Afhængig af serverkonfigurationen kan brugeren muligvis indtaste sin adgangskode for at oprette forbindelse til psql-terminalen. For at få adgang til psql-terminalen som bruger, er du lige nu logget ind, skriv simpelthen psql .

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

For at få adgang til psql terminalen som bruger “postgres”, skal du køre:

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

Fra psql-terminalen udføres \l eller \list metakommando for at liste alle databaser:

\l

Outputet vil indeholde antallet af databaser, navn på hver database, dens ejer, kodning og adgangsrettigheder:

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 server har tre databaser oprettet som standard, template0, template1 og postgres. De to første er skabeloner, der bruges, når man opretter nye databaser.

For at få en liste over alle databaser uden at få adgang til psql shell skal du bruge -c kontakten som vist nedenfor:

sudo -u postgres psql -c "\l"

En anden måde at liste databaserne på er at bruge følgende SQL-sætning:

SELECT datname FROM pg_database;

I modsætning til \l metakommandoen viser forespørgslen ovenfor kun navnene på databaserne:

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

Liste over tabeller

For at liste alle tabellerne i en bestemt database først skal du oprette forbindelse til den ved hjælp af \c eller \connect metakommandoen. Den bruger, du er logget på som psql-terminalen, skal være i stand til at oprette forbindelse til databasen.

For at oprette forbindelse til den database, der hedder “odoo”, skriver du for eksempel:

\c odoo

Når databasen er skiftet, brug \dt metakommandoen til at liste alle databasetabeller:

Outputet vil indeholde antallet af tabeller, navnet på hver tabel og dens skema, type og ejer:

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)

Hvis databasen er tom, vil udgangen se sådan ud:

No relations found.

Brug \dt+ at få oplysninger om tabellernes størrelse og beskrivelser.

Konklusion

Du har lært, hvordan du viser PostgreSQL-databaser og -tabeller ved hjælp af kommandoen psql .

Du er velkommen til at give en kommentar, hvis du har spørgsmål.

PostgreSQL