обработка данных

Нажмите сюда, если долго загружается,
либо "ESC" - отмена
 
Заказ обратного звонка
Заказать звонок
Наш специалист свяжется с Вами и ответит на все вопросы
Обработка данных
Наш специалист свяжется с Вами и ответит на все вопросы.
OK

Postgres и Пустота

Источник: https://habrahabr.ru
Время чтения: ~1 мин
Postgres и Пустота
Статьи
705
Логотип PostgreSQL
Натолкнулся на возможность Postgresql, показавшуюся забавной. Для кого "баян" — респект вам, я несколько лет работаю с Postgres и до сих пор не натыкался на такую штуку.

select; без указания полей, таблицы и условий возвращает одну строку. Но у этой строки нет полей:
CODE
Для сравнения:
CODE
А сможем ли мы создать таблицу из такого "пустого" запроса? Таблицу без полей. Да, пожалуйста:
CODE
А можем ли мы в неё вставить? Легко:
CODE
ЕЩЕ!
CODE
Интересно, будет ли PostgreSQL сканировать такую таблицу?
CODE
Да, честно сканирует. Больше 100 ms — вполне себе заметное время.
Ну и чтобы убедиться, что всё по честному, посмотрим сколько места занимает наша супер-полезная таблица:
CODE
То есть таблица есть, занимает место на диске, в блоках хранятся разные служебные данные, ну а то, что в ней нет полей — бывает, дело житейское!
CODE

Я не придумал, зачем может понадобиться такая таблица. Но возможность есть, и это хорошо!Я использую Postgresql 9.6. Как отмечают ниже в более низких версиях это не работает. В 9.3 выдаёт syntax error. 9.4, 9.5 под рукой нет чтобы проверить.
Поделиться
Поделиться
Поделиться
Поделиться
Поделиться
Поделиться
Поделиться
Подписка на новости. Получайте важное первым
ПОДПИСАТЬСЯ