Listarea și comutarea bazelor de date în PostgreSQL
Listarea și comutarea bazelor de date în PostgreSQL
PostgreSQL, un puternic sistem open-source de baze de date obiect-relaționale, oferă un set bogat de instrumente și caracteristici pentru gestionarea eficientă a bazelor de date. Fie că sunteți administrator de baze de date sau dezvoltator backend, cunoașterea modului de a lista și de a comuta între baze de date este esențială pentru navigarea în medii cu mai multe baze de date.
1. Condiții prealabile
Înainte de a începe, asigurați-vă că:
PostgreSQL este instalat pe sistemul dumneavoastră(psql este accesibil).
Aveți permisiunile corespunzătoare (de exemplu, superutilizator sau rol cu drepturi de conectare).
Vă puteți autentifica cu serverul PostgreSQL utilizând un utilizator valid.
2. Listarea bazelor de date în PostgreSQL
🔍 Metoda 1: Utilizarea metacomandă psql
Lansați terminalul interactiv psql și rulați:
\lSau forma extinsă:
\listAceasta va returna o listă a tuturor bazelor de date:
Name
Owner
Encoding
Collation
Ctype
Access privileges
Metoda 2: Utilizarea interogării SQL
Alternativ, executați această instrucțiune SQL:
SELECT datname FROM pg_database WHERE datistemplate = false;Această interogare exclude bazele de date șablon (template0, template1) și arată bazele de date create de utilizator.
🛠️ Metoda 3: Command-Line Shell
În afara psql, din terminalul dvs:
psql -U postgres -c "\l"De asemenea, puteți utiliza psql -l:
psql -l3. Schimbarea bazelor de date
Spre deosebire de alte RDBMS (de exemplu, MySQL), PostgreSQL nu acceptă schimbarea bazelor de date în cadrul aceleiași sesiuni folosind o comandă precum USE dbname;.
De ce?
PostgreSQL stabilește o conexiune la o anumită bază de date la momentul conectării. Pentru a accesa o altă bază de date, trebuie să vă deconectați și să vă reconectați.
Abordare recomandată:
Ieșiți din sesiunea curentă și reconectați-vă la baza de date dorită:
\q -- Ieșiți din sesiunea curentă psqlApoi:
psql -U username -d target_databaseSau direct:
psql -U username -d target_database -h hostname -p portExemplu:
psql -U admin -d salesdb4. Sfaturi pentru un flux de lucru eficient cu mai multe baze de date
a. Utilizați .pgpass pentru comutarea fără parolă
Creați un fișier .pgpass pentru a automatiza autentificarea:
hostname:port:database:username:passwordAsigurați-vă că fișierul are permisiunile corecte:
c. Utilizați variabilele de mediu
Exportați DB-ul și utilizatorul implicit pentru o comutare mai rapidă:


