Ето няколко начина да покажете списък с бази данни, когато използвате 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