Исходная таблица со столбцами
Прежде чем проверять существования имён столбцов таблицы, давайте создадим её.
-- Тестовая таблица -- DROP TABLE test.t_2022_12_19; CREATE TABLE IF NOT EXISTS test.t_2022_12_19 ( col1 text, col22 text, col333 text, col4444 text );
В веб-интерфейсе pgAdmin4 она выглядит так:

Данных в таблице нет. Но они нас не интересуют так как задача заключается в другом.
Проверяем существование столбца в таблице PostgreSQL через представление columns у схемы information_schema
Для проверки существования столбца в таблице нужно знать 3 значения элементов представления «columns«, которые называются:
- table_schema
- table_name
- column_name
SQL-выражение будет выглядеть так:
SELECT EXISTS(SELECT column_name FROM information_schema.columns WHERE table_schema = 'test' AND table_name = 't_2022_12_19' AND column_name = 'col22');
Получим true, так как столбец с именем «col22» есть в таблице «t_2022_12_19«.

Если попытаемся обратиться к несуществующему столбцу, то увидим false.
SELECT EXISTS(SELECT column_name FROM information_schema.columns WHERE table_schema = 'test' AND table_name = 't_2022_12_19' AND column_name = 'qwerty');
Результат вызова:

Информационные ссылки
Официальный сайт WEB-оболочки pgAdmin — https://www.pgadmin.org
Официальный сайт СУБД PostgreSQL — https://www.postgresql.org
Раздел «Ограничения» — https://postgrespro.ru/docs/postgresql/15/ddl-constraints
Раздел «Информационная схема» — https://postgrespro.ru/docs/postgresql/15/information-schema
Представление «columns» — https://postgrespro.ru/docs/postgresql/15/infoschema-columns