Ето няколко начина да покажете списък с бази данни, когато използвате psql с PostgreSQL.
Първата опция може да се използва, когато вече сме свързани с PostgreSQL. Втората опция може да се използва, когато в момента нямаме връзка с Postgres.
\l и \list Команди
Можем да използваме или \l или \list за да върнете списък с бази данни.
Синтаксисът е така:
\l[+] or \list[+] [ pattern ]
Частите в квадратни скоби [] са по избор.
Така че най-бързият/лесният начин да получите списък с бази данни е така:
\l Примерен резултат:
List of databases +--------------+----------+----------+-------------+-------------+-----------------------+ | Name | Owner | Encoding | Collate | Ctype | Access privileges | +--------------+----------+----------+-------------+-------------+-----------------------+ | barney | barney | UTF8 | en_US.UTF-8 | en_US.UTF-8 | | | krankykranes | postgres | UTF8 | en_US.UTF-8 | en_US.UTF-8 | | | music | barney | UTF8 | en_US.UTF-8 | en_US.UTF-8 | | | pagila | postgres | UTF8 | en_US.UTF-8 | en_US.UTF-8 | | | pethotel | barney | UTF8 | en_US.UTF-8 | en_US.UTF-8 | | | postgres | postgres | 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 | +--------------+----------+----------+-------------+-------------+-----------------------+
Само за да е ясно, изпълних тази команда, когато вече бях свързан с PostgreSQL.
Същият резултат може да се получи с помощта на \list вместо \l .
Можем да добавим знак плюс (+ ), за да върнете повече информация за всяка таблица:
\l+ Примерен резултат:
List of databases +--------------+----------+----------+-------------+-------------+-----------------------+---------+------------+--------------------------------------------+ | Name | Owner | Encoding | Collate | Ctype | Access privileges | Size | Tablespace | Description | +--------------+----------+----------+-------------+-------------+-----------------------+---------+------------+--------------------------------------------+ | barney | barney | UTF8 | en_US.UTF-8 | en_US.UTF-8 | | 8473 kB | pg_default | | | krankykranes | postgres | UTF8 | en_US.UTF-8 | en_US.UTF-8 | | 8289 kB | pg_default | | | music | barney | UTF8 | en_US.UTF-8 | en_US.UTF-8 | | 8225 kB | pg_default | | | pagila | postgres | UTF8 | en_US.UTF-8 | en_US.UTF-8 | | 16 MB | pg_default | | | pethotel | barney | UTF8 | en_US.UTF-8 | en_US.UTF-8 | | 8177 kB | pg_default | | | postgres | postgres | UTF8 | en_US.UTF-8 | en_US.UTF-8 | | 8097 kB | pg_default | default administrative connection database | | template0 | postgres | UTF8 | en_US.UTF-8 | en_US.UTF-8 | =c/postgres +| 7905 kB | pg_default | unmodifiable empty database | | | | | | | postgres=CTc/postgres | | | | | template1 | postgres | UTF8 | en_US.UTF-8 | en_US.UTF-8 | =c/postgres +| 7905 kB | pg_default | default template for new databases | | | | | | | postgres=CTc/postgres | | | | +--------------+----------+----------+-------------+-------------+-----------------------+---------+------------+--------------------------------------------+
Така получаваме няколко допълнителни колони с информация за размера, пространството за таблица и т.н.
Можем също да използваме шаблон, за да върнем само тези бази данни, които съответстват на шаблона:
\l krank* Примерен резултат:
List of databases +--------------+----------+----------+-------------+-------------+-------------------+ | Name | Owner | Encoding | Collate | Ctype | Access privileges | +--------------+----------+----------+-------------+-------------+-------------------+ | krankykranes | postgres | UTF8 | en_US.UTF-8 | en_US.UTF-8 | | +--------------+----------+----------+-------------+-------------+-------------------+
-l и --list Опции за свързване
Когато в момента не сме свързани с Postgres, можем да се свържем с помощта на -l или --list опция за свързване.
Когато е посочена една от тези опции, psql ще се свърже с Postgres, ще изброи всички налични бази данни, след което ще излезе.
Може да се използва по следните начини:
-l
--list Така че вместо да използвате обратната наклонена черта, това е или тире, или две тирета (в зависимост от това кое от тях използвате).
За да използвате тази опция, отворете нов терминален прозорец или команден ред и въведете следното:
psql -l Ако приемем, че е във вашата променлива PATH, това трябва да стартира PostgreSQL, да изброи всички бази данни и след това да излезете.
Примерен резултат:
List of databases
Name | Owner | Encoding | Collate | Ctype | Access privileges
--------------+----------+----------+-------------+-------------+-----------------------
barney | barney | UTF8 | en_US.UTF-8 | en_US.UTF-8 |
krankykranes | postgres | UTF8 | en_US.UTF-8 | en_US.UTF-8 |
music | barney | UTF8 | en_US.UTF-8 | en_US.UTF-8 |
pagila | postgres | UTF8 | en_US.UTF-8 | en_US.UTF-8 |
pethotel | barney | UTF8 | en_US.UTF-8 | en_US.UTF-8 |
postgres | postgres | 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
Същото може да се приложи с помощта на --list :
psql --list