Как стать автором
Обновить

Комментарии 30

НЛО прилетело и опубликовало эту надпись здесь
Это умышленно, но не из-за проблем типа. Автовакуум на всех бенчмарках приводит к тому, что бенчмарк показывает не то, что вы думаете (работу автовакуума, а не тестируемого функционала). В теории автовакуум должен работать даже быстрее, так как размер туплов уменьшается и производится меньше дискового IO, но конкретных замеров я лично не делал.
С индексами работает?
Да, конечно.
А есть такое же для xml?
Пока нет. Но по тому же принципу делается не сложно. А Вам правда нужно или просто интересуетесь?
Действительно пригодилось бы. Но возможно мою проблему можно решить конвертацией XML в JSON
Если и xml будут тогда уже будет отлично(полноценной). Спасибо за хороший фитчи

А почему похожего нету в самом PG?

Никто еще не добавил :) В рассылке предлагают включить zson, расширенный для xml и text, в базовую поставку.
Возможно, потому что zson_learn() выглядит, как ужасный костыль.
Komzpa ну вы же знаете выражение — patches are welcome! :)

Не могу понять, что нужно передавать в tables_and_columns? Если это названия таблиц и колонок в них, то пример {{'table1', 'row1'}, ...} не совсем удачный. Может лучше {{'table1', 'col1'}, ..}? Поясните пожалуйста.

Это, конечно же, просто косяк в тексте, имелся ввиду col. Исправил, спасибо!
А как лучше содержимое zson_learn перенести с тестовой на продуктивную БД?
А проблем с какими-нибудь zson version/dict version или id, не будет?
Если вы не обучаете zson и на тестовом окружении и на проде одновременно, то проблем быть не должно. Иначе перед обучением на тестовом окружении сначала перенесите полностью словарь с прода.

И конечно же, на все всегда делайте бэкапы!
Я так понял, что «My_schema».«Table» — работать не будет?
Не уверен, что понял ваш вопрос. Если вы хотите включить расширение для схемы, то насколько я знаю, это работать не будет.
Ну да, не у всех в public данные.
А как прикрутить?
Там надо ещё подумать над тем, что таблица public.zson_dict, становится частью данных другой схемы, что становится как-то неправильно.
Или принудительно её создавать в используемых схемах или как-то в документации отобразить.
Patches are welcome ;)
я посмотрел мельком код, я так понял название таблицы используется не только в plpgsql, но и в C
Не думаю, что правильнее править мне, т.к. получается, что я не во всём в курсе
Я думаю, можно вставить какой-нибудь шаблон, для исключения из словаря данных величин, которые будут заведомо единственные, скажем результат какой-либо последовательности.
Или потом удалить их словаря.
Сейчас у zson_learn есть параметр, определяющий минимальное количество раз, которое строка должна встречаться в документах (по дэфолту 2, можно указать другое значение).
Чего-то не работает
Попробую, но заранее ничего не обещаю :)
Зарегистрируйтесь на Хабре, чтобы оставить комментарий