Как проверить существует ли таблица sql — Q&A Хекслет
2026-02-26 18:19 Diff

Ответы

Я расскажу как это делается в PostgreSQL.

В репле psql для просмотра списка таблиц используется команда \d.

Если же репл нам не подходит, можно использовать запрос. В большинстве рекомендаций говорится о том, что стоит делать запрос к самой схеме information_schema.tables. Но такой подход, в данном контексте, неверен, так как выборка покажет только те таблицы, к которым у текущего пользователя есть доступ. Таким образом таблица может существовать, но запрос к information_schema.tables вернёт false.

Рекомендую, при проверке существования таблиц, обращаться напрямую к каталогам pg_class и pg_namespace. Запрос может выглядеть следующим образом: