Android

Cum să listați bazele de date și tabelele postgresql folosind psql

Baze de date - Relatii intre tabele

Baze de date - Relatii intre tabele

Cuprins:

Anonim

La administrarea serverelor de baze de date PostgreSQL, una dintre cele mai comune sarcini pe care le veți îndeplini este listarea bazelor de date și a tabelelor acestora.

PostgreSQL vine cu un instrument interactiv numit psql care vă permite să vă conectați la server și să rulați interogări împotriva acestuia. Când utilizați psql puteți profita, de asemenea, de meta-comenzile sale. Aceste comenzi sunt utile pentru script și administrarea liniei de comandă. Toate meta-comenzile încep cu o retragere neîncotată și sunt cunoscute și sub denumirea de comenzi de retragere.

Acest tutorial explică cum să arătați baze de date și tabele într-un server PostgreSQL folosind psql .

Baze de date cu listare

Te poți conecta la serverul PostgreSQL folosind comanda psql ca orice utilizator de sistem. În funcție de configurația serverului, utilizatorul poate avea nevoie să introducă parola pentru a vă conecta la terminalul psql. Pentru a accesa terminalul psql ca utilizator la care sunteți conectat momentan, pur și simplu tastați psql .

Când este instalat pachetul PostgreSQL, se creează un utilizator administrativ numit „postgres”. În mod implicit, acest utilizator se poate conecta la serverul local PostgreSQL fără o parolă.

Pentru a accesa terminalul psql ca utilizator „postgres”, executați:

sudo -u postgres psql Comanda sudo vă permite să rulați comenzi ca un alt utilizator.

Din terminalul psql executați \l sau \list meta-comandă pentru a lista toate bazele de date:

\l

Rezultatul va include numărul de baze de date, numele fiecărei baze de date, proprietarul acesteia, privilegii de codificare și acces:

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)

Serverul PostgreSQL are trei baze de date create implicit, template0, template1 și postgres. Primele două sunt șabloane care sunt utilizate la crearea bazelor de date noi.

Pentru a obține o listă cu toate bazele de date fără a accesa shell-ul psql, folosiți comutatorul -c așa cum se arată mai jos:

sudo -u postgres psql -c "\l"

Un alt mod de a enumera bazele de date este de a utiliza următoarea instrucțiune SQL:

SELECT datname FROM pg_database;

Spre deosebire de \l meta-comanda, interogarea de mai sus va afișa doar numele bazelor de date:

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

Tabele de listare

Pentru a enumera toate tabelele unei anumite baze de date mai întâi, trebuie să vă conectați la aceasta folosind metoda \c sau \connect meta-comandă. Utilizatorul la care sunteți conectat la terminalul psql trebuie să se poată conecta la baza de date.

De exemplu, pentru a vă conecta la baza de date numită „odoo”, introduceți:

\c odoo

Odată ce baza de date este schimbată, folosiți meta-comanda \dt pentru a lista toate tabelele bazei de date:

Rezultatul va include numărul de tabele, numele fiecărei tabele și schema, tipul și proprietarul acesteia:

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)

Dacă baza de date este goală, ieșirea va arăta astfel:

No relations found.

Pentru a obține informații despre dimensiunile tabelelor, descrierile folosiți \dt+ .

Concluzie

Ați învățat cum să enumerați bazele de date și tabelele PostgreSQL folosind comanda psql .

Simțiți-vă liber să lăsați un comentariu dacă aveți întrebări.

postgresql