Size: a a a

pgsql – PostgreSQL

2020 August 05

AN

Alexander Nikitin in pgsql – PostgreSQL
но сильно уж большая таблица :)
источник

А

Артем in pgsql – PostgreSQL
есть jsonb { "a" : [{"b" : [{"code" : "1"}]}]}
можете подсказать, как можно расширить b, добавив в него {"code" :"2"}?
источник

AN

Alexander Nikitin in pgsql – PostgreSQL
а, Виктор, увидел - там два ответа, было - спасибо
источник

YS

Yaroslav Schekin in pgsql – PostgreSQL
Alexander Nikitin
коллеги, если я выставлю alter table tbl_name set (autovacuum_enabled=off); я же правильно понимаю, что во-первых эта операция будет мгновенной, а во вторых автовакуум сюда не придёт?
> во-первых эта операция будет мгновенной,

Какой-то table-level lock при этом накладывается, какой — я не помню, так что лучше протестировать. От размера таблицы это не зависит, в любом случае.

> а во вторых автовакуум сюда не придёт?

Anti-wraparound — придёт всё равно.
источник

AN

Alexander Nikitin in pgsql – PostgreSQL
да, про антиврапэраунд речь не идёт, понятно, что его не отключить
источник

NI

Nariman Ibadullaev in pgsql – PostgreSQL
Всем привет. Как правильно напмсать запрос к функции где input параметр это ответ селекта. То есть
select tablename from pg_tables where schemaname = 'invoice';  - Возвращает имена таблиц и передать параметры select * from pgstattuple('invoice.*)
источник

AN

Alexander Nikitin in pgsql – PostgreSQL
\gx можно использовать - собрать строку и выполнить, но по-моему с 10 версии это появилось
источник

YS

Yaroslav Schekin in pgsql – PostgreSQL
Артем
есть jsonb { "a" : [{"b" : [{"code" : "1"}]}]}
можете подсказать, как можно расширить b, добавив в него {"code" :"2"}?
Так?
SELECT jsonb_insert('{"a" : [{"b" : [{"code" : "1"}]}]}', '{a,0,b,-1}', '{"code" :"2"}', true);
источник

А

Артем in pgsql – PostgreSQL
Yaroslav Schekin
Так?
SELECT jsonb_insert('{"a" : [{"b" : [{"code" : "1"}]}]}', '{a,0,b,-1}', '{"code" :"2"}', true);
Спасибо! только через индексы можно это провернуть? А то я только знакомлюсь с этим всем
источник

YS

Yaroslav Schekin in pgsql – PostgreSQL
Артем
Спасибо! только через индексы можно это провернуть? А то я только знакомлюсь с этим всем
В смысле "через индексы"? Тут же вложенная структура: a->["b"->[...], ...] ...
источник

2_

2flower _ in pgsql – PostgreSQL
Yaroslav Schekin
Так?
SELECT jsonb_insert('{"a" : [{"b" : [{"code" : "1"}]}]}', '{a,0,b,-1}', '{"code" :"2"}', true);
c insert можно нарваться на ошибку, если данный элемент присутствует, я обычно делаю jsonb_set так спокойнее
источник

YS

Yaroslav Schekin in pgsql – PostgreSQL
2flower _
c insert можно нарваться на ошибку, если данный элемент присутствует, я обычно делаю jsonb_set так спокойнее
Может и прекрасно, что можно? Мне не кажется, что "тихо перезатирать" — это лучшее поведение в каждой ситуации.
источник

А

Артем in pgsql – PostgreSQL
Yaroslav Schekin
В смысле "через индексы"? Тут же вложенная структура: a->["b"->[...], ...] ...
ну после a идет 0. это разве не индекс элемента в массиве?
источник

2_

2flower _ in pgsql – PostgreSQL
Yaroslav Schekin
Может и прекрасно, что можно? Мне не кажется, что "тихо перезатирать" — это лучшее поведение в каждой ситуации.
вам виднее, мне было неудобно работать.
источник

YS

Yaroslav Schekin in pgsql – PostgreSQL
Артем
ну после a идет 0. это разве не индекс элемента в массиве?
Да. Ну так у Вас на верхнем уровне ключи (json objects), по ключу "a" хранится массив, в первом (0) его элементе —опять объект(ы), по ключу "b" там — опять массив. Поэтому такой путь доступа a->0->b->-1 (последний элемент).
А Вам как нужно?
источник

А

Артем in pgsql – PostgreSQL
это был очень упрощенный вариант того, что у меня есть, чтобы понять как это работает.
а так, среди объектов массива а, надо найти такой, где code = value, и расширить у него b, если нет значения с
ну думаю суть от этого не изменится, только путь собирать запросом
источник

F

Feruza in pgsql – PostgreSQL
Здравствуйте. Можно ли восстановить БД postgres без backup & snapshot? Может есть история😊 (pgadmin). Я сделала truncate cascade удалилась все связанные данные
источник

F

Feruza in pgsql – PostgreSQL
Никак?
источник

gg

gri gvandri in pgsql – PostgreSQL
Добрый день!
Не подскажите как обновить во view  GROUP
нашел https://postgrespro.ru/docs/postgresql/9.4/sql-alterview
я полагаю set GROUP by = ...
и добавить поле это SELECT = ...
источник

VY

Victor Yegorov in pgsql – PostgreSQL
Feruza
Здравствуйте. Можно ли восстановить БД postgres без backup & snapshot? Может есть история😊 (pgadmin). Я сделала truncate cascade удалилась все связанные данные
никак
источник