Hvordan får jeg en liste over alle databaser og tabeller med psql?

Jeg forsøger at lære PostgreSQL-administration og er begyndt at lære at bruge kommandolinjeværktøjet psql.

Når jeg logger ind med psql --username=postgres, hvordan får jeg så en liste over alle databaser og tabeller?

Jeg har prøvet \d, d og dS+, men der er intet på listen. Jeg har oprettet to databaser og et par tabeller med pgAdmin III, så jeg ved, at de burde være opført.

Løsning

Bemærk venligst følgende kommandoer:

  • \list eller \l: liste alle databaser
  • \dt: liste over alle tabeller i den aktuelle database

Du vil aldrig se tabeller i andre databaser, disse tabeller er ikke synlige. Du skal oprette forbindelse til den korrekte database for at se dens tabeller (og andre objekter).

For at skifte database:

\connect database_name eller \c database_name

Se manualen om psql.

Kommentarer (8)

Denne liste indeholder databaser:

SELECT datname FROM pg_database
WHERE datistemplate = false;

Dette viser tabeller i den aktuelle database

SELECT table_schema,table_name
FROM information_schema.tables
ORDER BY table_schema,table_name;
Kommentarer (6)

\l er også en forkortelse for \list. Der er en hel del slash-kommandoer, som du kan liste i psql ved at bruge \?.

Kommentarer (0)