sql >> Databasteknik >  >> RDS >> PostgreSQL

Hur man listar databaser och tabeller i PostgreSQL med psql

När det gäller att administrera Postgres-databaser finns det ett brett utbud av tredjepartsverktyg tillgängliga som SQL Workbench/J eller pgAdmin III. Postgres själv levereras dock med ett kraftfullt kommandoradsverktyg som heter psql vilket är bra för dem som är bekanta med terminalen eller vill ha manusadministration. En av de vanligaste uppgifterna som en databasadministratör utför är helt enkelt att bekanta sig med miljön. Detta innebär att ställa frågor som "Vilka databaser finns på den här servern?" eller "Vilka tabeller lagras i en viss databas på den här servern?". I den här handledningen kommer vi att lära oss hur du svarar på dessa nyckelfrågor från kommandoraden med psql .

Metakommandon

Förutom att kunna skicka rå SQL-frågor till servern via psql du kan också dra fördel av psql meta-kommandon för att hämta information från servern. Metakommandon är kommandon som utvärderas av psql och ofta översatt till SQL som utfärdas mot systemtabellerna på servern, vilket sparar administratörer tid när de utför rutinuppgifter. De betecknas med ett snedstreck och följs sedan av kommandot och dess argument. Vi kommer att se några exempel på detta nedan.

Listdatabaser

En enda Postgres-serverprocess kan hantera flera databaser samtidigt. Varje databas lagras som en separat uppsättning filer i sin egen katalog i serverns datakatalog. För att se alla definierade databaser på servern kan du använda \list meta-kommando eller dess genväg \l .

postgres=# \l
                                  List of databases
   Name    |  Owner   | Encoding |   Collate   |    Ctype    |   Access privileges
-----------+----------+----------+-------------+-------------+-----------------------
 postgres  | postgres | UTF8     | en_US.UTF-8 | en_US.UTF-8 |
 sales     | ubuntu   | UTF8     | en_US.UTF-8 | en_US.UTF-8 |
 template0 | postgres | UTF8     | en_US.UTF-8 | en_US.UTF-8 | =c/postgres          +
           |          |          |             |             | postgres=CTc/postgres
 template1 | postgres | UTF8     | en_US.UTF-8 | en_US.UTF-8 | =c/postgres          +
           |          |          |             |             | postgres=CTc/postgres
(4 rows)

Byt databas

De flesta Postgres-servrar har tre databaser definierade som standard:template0 , template1 och postgres . template0 och template1 är skelettdatabaser som används eller kan användas av CREATE DATABASE kommando. postgres är standarddatabasen du kommer att ansluta till innan du har skapat några andra databaser. När du har skapat en annan databas kommer du att vilja byta till den för att skapa tabeller och infoga data. När du arbetar med servrar som hanterar flera databaser kommer du ofta att behöva hoppa mellan databaser ofta. Detta kan göras med \connect metakommando eller dess genväg \c .

postgres=# \c sales
You are now connected to database "sales" as user "ubuntu".
sales=#

Listtabeller

När du har anslutit till en databas vill du inspektera vilka tabeller som har skapats där. Detta kan göras med \dt meta-kommando. Men om det inte finns några tabeller får du ingen utdata.

sales=# \dt
No relations found.
sales=#

När du har skapat en tabell kommer den att returneras i en tabelllista över skapade tabeller.

sales=# CREATE TABLE leads (id INTEGER PRIMARY KEY, name VARCHAR);
CREATE TABLE
sales=# \dt
        List of relations
 Schema | Name  | Type  | Owner
--------+-------+-------+--------
 public | leads | table | ubuntu
(1 row)

sales=#

  1. Oracle Date - Hur man lägger till år till datum

  2. Hur man beräknar genomsnittlig försäljning per dag i MySQL

  3. MySQL TABELL uttalande

  4. Kapacitetsplanering för MySQL och MariaDB - Dimensionerande lagringsstorlek