Чтобы выполнить SQL в PostgreSQL, запустите консольный клиент psql, подключитесь к базе данных и введите SQL-запрос, завершив его точкой с запятой ;.
Как подключиться к базе
Откройте терминал или командную строку.
Введите команду для входа: psql -U имя_пользователя -d имя_базы
Введите пароль, если система его запросит.
Как выполнять команды
Внутри клиента psql: просто напишите SQL-запрос, например SELECT * FROM users; и нажмите Enter.
Одной строкой из ОС: используйте ключ -c: psql -U имя_пользователя -d имя_базы -c "SELECT * FROM users;"
Из SQL-файла: запустите файл с помощью ключа -f: psql -U имя_пользователя -d имя_базы -f путь_к_файлу.sql
Полезные команды для просмотра структуры
- \dt — выводит список всех таблиц в текущей базе данных
- \dt+ — показывает таблицы с дополнительными деталями (размер, описание)
- \d имя_таблицы — показывает список колонок, их типы и индексы конкретной таблицы
- \dt схема.* — выводит таблицы из конкретной схемы (по умолчанию отображается схема public)
- \dn — показывает только пользовательские схемы (скрывает системные)
- \dn+ — выводит схемы с подробностями (права доступа и описание)
- \dnS — показывает абсолютно все схемы, включая системные (например, pg_catalog, information_schema)
Альтернативный вариант (через SQL-запрос)
Если вам обязательно нужен SQL-запрос, а не внутренняя команда psql, выполните: SELECT table_name FROM information_schema.tables WHERE table_schema='public';
Если вы хотите получить список схем обычным SQL-запросом, выполните: SELECT schema_name FROM information_schema.schemata;
Чтобы при этом отсечь системные схемы, добавьте фильтр: SELECT schema_name FROM information_schema.schemata WHERE schema_name NOT LIKE 'pg_%' AND schema_name <> 'information_schema';