När du administrerar PostgreSQL-databasservrar listar en av de vanligaste uppgifterna du sannolikt kommer att utföra databaserna och deras tabeller.

PostgreSQL levereras med ett interaktivt verktyg som heterpsql, vilket gör att du kan ansluta till servern och köra frågor mot den. När du använderpsql kan du också dra nytta av dess metakommandon. Dessa kommandon är användbara för skript och kommandoradsadministration., Alla meta-kommandon börjar med en unquoted backslash och är också kända som backslash kommandon.

den här handledningen förklarar hur databaser och tabeller visas i en PostgreSQL-server medpsql.

lista databaser #

Du kan ansluta till PostgreSQL-servern med kommandotpsql som alla systemanvändare. 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 du är inloggad på, 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 åtpsql – terminalen som användare ”postgres”, kör:

sudo -u postgres psql
kommandotsudo låter dig köra kommandon som en annan användare.,

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

\l

utgången kommer att innehålla antalet databaser, namnet på varje databas, dess ägare, kodning och åtkomstbehörighet:

PostgreSQL Server har tre databaser som skapats som standard, template0, template1 och postgres. De två första är mallar som används när du skapar nya databaser.,

om du vill få information om databasernas storlek, standardtabeller och beskrivningar använder \l+ eller \list+. Databasstorleken visas endast om den aktuella användaren kan ansluta till den., använd -c-växeln 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 är att använda följande SQL-sats:

SELECT datname FROM pg_database;

query ovan visar bara namnen på databaserna:

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

listing tables #

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

om du till exempel vill ansluta till databasen med namnet ”odoo” skriver du:

\c odoo

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

utmatningen kommer att innehålla tabellens nummer, namnet på varje tabell och dess schema, typ och ägare:

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

No relations found.

för att få information om tabellens storlek och beskrivningar använder\dt+.,

slutsats #

Du har lärt dig att lista PostgreSQL-databaser och tabeller med kommandotpsql.