PostgreSQL | Сколько столбцов существует в таблице?

PostgreSQL | Сколько столбцов существует в таблице?

Исходная таблица со столбцами

Прежде чем получать имена столбцов таблицы, давайте создадим её.

-- Тестовая таблица -- 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
Таблица из четырёх столбцов без данных в PostgreSQL

Данных в таблице нет. Но они нас не интересуют так как задача заключается в другом.

 

Как посчитать количество столбцов у таблицы в PostgreSQL?

Сперва нужно получить все названия столбцов конкретной таблицы и только потом применить агрегатную функцию для подсчёта количества записей у сформированной таблицы.

Читайте подробное описание как это сделать в публикации — PostgreSQL | Как получить имена столбцов таблицы?

-- Сколько столбцов у таблицы?
SELECT count(column_name)
FROM information_schema.columns
WHERE table_schema = 'test' AND table_name = 't_2022_12_19';

Результат работы выражения:

Подсчитали количество столбцов у таблицы в PostgreSQL
Подсчитали количество столбцов у таблицы в PostgreSQL

 

Информационные ссылки

Официальный сайт WEB-оболочки pgAdminhttps://www.pgadmin.org

Официальный сайт СУБД PostgreSQLhttps://www.postgresql.org

Раздел «Ограничения» — https://postgrespro.ru/docs/postgresql/15/ddl-constraints

Раздел «Информационная схема» — https://postgrespro.ru/docs/postgresql/15/information-schema

Представление «table_constraints» — https://postgrespro.ru/docs/postgresql/15/infoschema-columns