Для тех, кто переходит с MySQL / MariaDB на PostgreSQL часто неочевидно, как можно банально посмотреть имеющиеся базы данных, таблицы и поля таблиц.
Речь тут идёт не о различии HeidiSQL и PgAdmin, а о работе в командной строке, то есть mysql и psql.
Довольно просто в psql подключиться к нужному хосту, под нужным пользователем:
psql -U {{ user }} -d {{ dbname }} -h {{ host }}
А вот USE {{ dbname }} для смены базы данных уже не прокатит.
Смена базы данных в Postgres делается с помощью команды \c (connect):
\c {{ dbname }}
Аналог SHOW DATABASES для PostgreSQL – \l (list):
\l
Если же мы хотим посмотреть список таблиц в базе данных, то вместо SHOW TABLES
пишем \dt (display tables):
\dt
Структуру таблицы мы смотрим не через DESCRIBE {{ table }}, а через \d:
\d {{ table }}
– что важно, тут же будут показаны созданные для таблицы индексы и внешние ключи.
Реже используемые:
\du- список всех пользователей и их привилегий.\dt+- список всех таблиц с описанием.\dt *s*- список всех таблиц, содержащих s в имени.\i {{ file }}- выполнить команды из файла.\o {{ file }}- сохранить результат запроса в файл.\a- переключение между режимами выравнивания.
Ну и самое важное – выйти из psql можно с помощью отправки символа окончания ввода (EOF) –
через Ctrl+D, или же командой \q.