\dt и \d+

Тема дорожной карты · PostgreSQL

psql — интерактивный терминал PostgreSQL — предоставляет богатый набор бэкслеш-мета-команд, позволяющих выполнять задачи администрирования баз данных без написания чистого SQL. Команда \dt выводит список всех таблиц в текущей схеме, тогда как \d+ <table> отображает полное описание таблицы: столбцы, типы, значения по умолчанию, ограничения и параметры хранения. К другим основным мета-командам psql относятся: \di для индексов, \dv для представлений, \df для функций, \dn для схем и \dp для вывода привилегий — все они незаменимы в повседневном администрировании PostgreSQL. Команда \timing включает отображение времени выполнения для каждого оператора, помогая при настройке производительности благодаря отображению длительности каждого запроса непосредственно в терминале. Владение мета-командами psql позволяет администраторам баз данных эффективно навигировать и инспектировать базы данных PostgreSQL без использования графических инструментов.

Как это работает

\dt и \d+ организует данные иерархически: кластер → БД → схема → объект (таблица, view, функция). Дефолтная схема — public; можно создать app, analytics, staging для пространств имён. search_path контролирует, по каким схемам ищутся неполные имена. Cross-database запросы НЕ разрешены (используйте foreign data wrappers); cross-schema — бесшовны. Роли (юзеры + группы) владеют объектами; права каскадятся через GRANT/REVOKE.

Когда применять

Схемы — для пространств имён логических модулей одного приложения (auth.users, billing.invoices): держит монолитную БД организованной без раздела на отдельные. Отдельные БД — для настоящего tenancy или полностью независимых приложений. Создавайте выделенную роль на каждый сервис (auth_service, billing_service); никогда не гоняйте под superuser postgres.

Типичные ошибки

Ловушки \dt и \d+: всё в public и через 3 года клубок прав; широкие права на public в 15+ БД ("дефолт с давних пор" — security exposure); забыли search_path в скриптах (запросы ломаются непредсказуемо в зависимости от сессии). \dn периодически — для аудита разрастания схем.

Связанные понятия

Полезные ресурсы