Android

Hur man listar postgresql-databaser och tabeller med psql

Learn PostgreSQL Tutorial - Full Course for Beginners

Learn PostgreSQL Tutorial - Full Course for Beginners

Innehållsförteckning:

Anonim

När du administrerar PostgreSQL-databasservrar är en av de vanligaste uppgifterna du troligtvis kommer att lista databaserna och deras tabeller.

PostgreSQL kommer med ett interaktivt verktyg som heter psql som låter dig ansluta till servern och köra frågor mot den. När du använder psql du också dra nytta av dess metakommandon. Dessa kommandon är användbara för skript och administration av kommandorader. Alla metakommandon börjar med ett ociterat backslash och kallas också backslash-kommandon.

Denna handledning förklarar hur man visar databaser och tabeller i en PostgreSQL-server med psql .

Lista databaser

Du kan ansluta till PostgreSQL-servern med psql kommandot som vilken systemanvändare som helst. Beroende på serverkonfigurationen kan användaren behöva ange sitt lösenord för att ansluta till psql-terminalen. För att komma åt psql-terminalen som användaren är du för närvarande inloggad, skriv bara psql .

När PostgreSQL-paketet är installerat skapas en administrativ användare med namnet “postgres”. Som standard kan den här användaren ansluta till den lokala PostgreSQL-servern utan lösenord.

För att komma åt psql terminalen som "postgres" för användare, kör:

sudo -u postgres psql Med sudo kommandot kan du köra kommandon som en annan användare.

Utifrån psql-terminalen kör \l eller \list metakommandot för att lista alla databaser:

\l

Utgången kommer att innehålla antalet databaser, namn på varje databas, dess ägare, kodning och åtkomstbehörigheter:

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-servern har tre databaser skapade som standard, mall0, mall1 och postgres. De två första är mallar som används när man skapar nya databaser.

För att få en lista över alla databaser utan att komma åt psql-skalet använder du -c omkopplaren som visas nedan:

sudo -u postgres psql -c "\l"

Ett annat sätt att lista databaserna är att använda följande SQL-sats:

SELECT datname FROM pg_database;

Till skillnad från metakommandot \l frågan ovan endast att visa namnen på databaserna:

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

Listningstabeller

För att lista alla tabeller i en viss databas först måste du ansluta till den med hjälp av \c eller \connect metakommandot. Användaren du är inloggad på på psql-terminalen måste kunna ansluta till databasen.

Om du till exempel vill ansluta till databasen "odoo" skriver du:

\c odoo

När databasen har bytts, använd \dt metakommandot för att lista alla databastabeller:

Utgången kommer att innehålla antalet tabeller, namnet på varje tabell och dess schema, typ och ägare:

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)

Om databasen är tom kommer utdata att se ut så här:

No relations found.

Använd \dt+ att få information om tabellernas storlekar och beskrivningar.

Slutsats

Du har lärt dig hur du listar PostgreSQL-databaser och tabeller med psql kommandot.

Lämna gärna en kommentar om du har några frågor.

postgresql