Size: a a a

pgsql – PostgreSQL

2020 June 02

RK

Rinat Karimov in pgsql – PostgreSQL
Oleg Bartunov
Кого-нибудь возбуждает возможность индексировать JSON (текстовый) ?
Олег - а можно услышать от первого лица: В каких реальных кейсах  JSON формат имеет преимущество перед  JSONB ?
источник

OB

Oleg Bartunov in pgsql – PostgreSQL
Rinat Karimov
Олег - а можно услышать от первого лица: В каких реальных кейсах  JSON формат имеет преимущество перед  JSONB ?
Когда вы храните документы, в которых важно форматирование.
источник

OB

Oleg Bartunov in pgsql – PostgreSQL
Oleg Bartunov
Когда вы храните документы, в которых важно форматирование.
Собственно я потому и спрашиваю тут, мне самому текстовый json не нужен, но я знаю, что есть разработчики и приложения, которые опираются на текстовый json, в котором сохранено все форматирование.
источник

RK

Rinat Karimov in pgsql – PostgreSQL
Oleg Bartunov
Когда вы храните документы, в которых важно форматирование.
Это понятно - вот просто думал, а где оно важно... ЭЦП ?
источник

YS

Yaroslav Schekin in pgsql – PostgreSQL
Казалось бы, тем, кому нужно просто хранить и извлекать JSON-ы (не искать по ним, не "разбирать" их в базе) — обычно выгоднее использовать JSON (быстрее сохранять/извлекать и чаще всего компактнее)... нет?
источник

АФ

Александр Филиппенко... in pgsql – PostgreSQL
у меня есть кейс когда нужно сверять изменилось ли что-то в json. Сомневаюсь что можно доверять форматированию в браузере, тем более что js не гарантирует порядок полей в объекте, поэтому идёт преобразование в jsonb, в text и от него md5 сохраняется в поле типа uuid и эти uuid-хэши сравниваются
источник

RK

Rinat Karimov in pgsql – PostgreSQL
Александр Филиппенко
у меня есть кейс когда нужно сверять изменилось ли что-то в json. Сомневаюсь что можно доверять форматированию в браузере, тем более что js не гарантирует порядок полей в объекте, поэтому идёт преобразование в jsonb, в text и от него md5 сохраняется в поле типа uuid и эти uuid-хэши сравниваются
А хранится оно все же как - в jsonb?
источник

АФ

Александр Филиппенко... in pgsql – PostgreSQL
Rinat Karimov
А хранится оно все же как - в jsonb?
да
источник

KK

Konstantin Knizhnik in pgsql – PostgreSQL
Oleg Bartunov
Много раз ко мне приходили с такой просьбой, но никто не сказал, а в каком формате передавать ? Есть десятки разных и единого мнения нет, а если форматы не совпадают, то это приведет к лишней нагрузке на cpu.
У меня два года патчик висит на комитфесте с сжатием libpq трафика.
Но создаётся такое впечатление, что это никому не нужно:(
источник

m

mb in pgsql – PostgreSQL
Михаил Шурутов
Ты можешь гарантировать, что снимок учитывает состояние кешей ФС, как минимум? Кеши СУБД он точно не учитывает.
Процедура выполнения бэкапа описана в официальной документации (процедуры start_backup(.…) и stop_backup(…)):
https://www.postgresql.org/docs/12/continuous-archiving.html#BACKUP-LOWLEVEL-BASE-BACKUP
источник

DB

Dilame 🎩 Bowzee ⠀⠀⠀ོ... in pgsql – PostgreSQL
plpgsql функция должна принимать на вход результат некоего запроса. Правильно ли описывать структуру результата запроса с помощью create type sometype (), и декларировать аргумент функции как setof sometype ? Можно ли сделать более правильно?
источник

V

VEgoshin in pgsql – PostgreSQL
Привет! Мне нужно сохранить 100 млн записей в виде дерева с одним корневым элементом. Подскажите, пожалуйста, как лучше сделать?
Я нашёл ltree, но ничего не нашёл про производительность.
источник

ВК

Виталий Кухарик... in pgsql – PostgreSQL
Коллеги, я чего-то видимо недопонимаю.

При PITR указал в конфиг recovery_target_action = 'shutdown'
но база после наката WAL-ов не выключается, а вместо этого
archive recovery complete
...
database system is ready to accept connections

Такое поведение характерно только для режима promote
из доки:
вариант, promote, означает, что процесс восстановления завершится и сервер начнёт принимать подключения.

а мне надо:
с вариантом shutdown сервер остановится, как только цель восстановления будет достигнута.
источник

GS

Grigory Smolkin in pgsql – PostgreSQL
Виталий Кухарик
Коллеги, я чего-то видимо недопонимаю.

При PITR указал в конфиг recovery_target_action = 'shutdown'
но база после наката WAL-ов не выключается, а вместо этого
archive recovery complete
...
database system is ready to accept connections

Такое поведение характерно только для режима promote
из доки:
вариант, promote, означает, что процесс восстановления завершится и сервер начнёт принимать подключения.

а мне надо:
с вариантом shutdown сервер остановится, как только цель восстановления будет достигнута.
источник

YS

Yaroslav Schekin in pgsql – PostgreSQL
Dilame 🎩 Bowzee ⠀⠀⠀ོ ⠀⠀
plpgsql функция должна принимать на вход результат некоего запроса. Правильно ли описывать структуру результата запроса с помощью create type sometype (), и декларировать аргумент функции как setof sometype ? Можно ли сделать более правильно?
Нет, это неправильно (показанный Вами способ).
Вы это в принципе пробовали (это же вообще не должно работать)?
источник

GS

Grigory Smolkin in pgsql – PostgreSQL
это из-за того, что точка "применяй WAL пока есть" не является явной точкой восстановления
источник

GS

Grigory Smolkin in pgsql – PostgreSQL
и поэтому recovery_target_action не выстреливает
источник

YS

Yaroslav Schekin in pgsql – PostgreSQL
VEgoshin
Привет! Мне нужно сохранить 100 млн записей в виде дерева с одним корневым элементом. Подскажите, пожалуйста, как лучше сделать?
Я нашёл ltree, но ничего не нашёл про производительность.
Adjacency list ( CREATE TABLE your_tree(id, parent_id); ).
источник

GS

Grigory Smolkin in pgsql – PostgreSQL
я постараюсь продолжить работу над фиксом на днях
источник

ВК

Виталий Кухарик... in pgsql – PostgreSQL
Grigory Smolkin
и поэтому recovery_target_action не выстреливает
starting point-in-time recovery to 2020-06-01 11:00:00+03

т.е.  у меня режим на точку во времени назад, а не с последнего вала
источник