Size: a a a

pgsql – PostgreSQL

2021 February 08

RL

Roman Lukianov in pgsql – PostgreSQL
И с каких пор это mongo, redis и clickhouse стали реляционными..?
источник

GP

Georgy Perevozchikov in pgsql – PostgreSQL
Roman Lukianov
И с каких пор это mongo, redis и clickhouse стали реляционными..?
Там написано НЕ
источник

RL

Roman Lukianov in pgsql – PostgreSQL
Georgy Perevozchikov
Там написано НЕ
Вас поправлял Ярослав, это я ему адресовал
источник

AL

Alexey Lesovsky in pgsql – PostgreSQL
Radist
Добрый день. Никто не знает работающего под postgresql 12 способа клонировать large object? В 9.6 использовали функцию написанную по мотивам https://stackoverflow.com/questions/5157923/can-i-copy-a-postgresql-large-object-on-the-db-server но в 12 значение для oid при вставке в pg_largeobject_metadata автоматически не генерируется.

Подозреваю что это связано с тем, что дропнули поддержку таблиц with oids, но непонятно как теперь быть. Вариант копирования через lo_from_bytea(0, lo_get(...)) не подходит. т.к. объект может не влезть в 256мб.
м?
источник

R

Radist in pgsql – PostgreSQL
Если объект будет больше определённого объема, lo_get ведь не сможет объект создать. В общем, добавил у себя создание объекта перед первым запросом в статье из stackoverflow, а сам первый запрос изменил на update, вроде работает.
источник

AL

Alexey Lesovsky in pgsql – PostgreSQL
только что провернул с файлом гигабайтного размера, сработало
источник

R

Radist in pgsql – PostgreSQL
Ну либо надо функцию с циклом делать, но через метадату есть выигрыш в случае sparce file.
источник

AL

Alexey Lesovsky in pgsql – PostgreSQL
lesovsky=# select loid,pg_size_pretty(sum(length(data))) from pg_largeobject group by loid;
loid  | pg_size_pretty
-------+----------------
82192 | 954 MB
82193 | 954 MB
(2 rows)

lesovsky=# SELECT md5(lo_get(82192)), md5(lo_get(82193));
              md5                |               md5                
----------------------------------+----------------------------------
c0e4a9f04493182a496b5e0e5f17f513 | c0e4a9f04493182a496b5e0e5f17f513
источник

AL

Alexey Lesovsky in pgsql – PostgreSQL
но да... за корректность не ручаюсь, как-то совсем не приходилось сталкиваться с lo на практике
источник

R

Radist in pgsql – PostgreSQL
Так там лимит 1гб
источник

R

Radist in pgsql – PostgreSQL
А у вас чуть меньше)
источник

AL

Alexey Lesovsky in pgsql – PostgreSQL
https://www.postgresql.org/docs/current/lo-intro.html
в документации пишут про 4GB
источник

R

Radist in pgsql – PostgreSQL
У них удобное api при работе с jdbc (можно с потоком работать, не загружая всё в память), поэтому используем их для хранения файлов.
источник

AN

Alexander Nikitin in pgsql – PostgreSQL
4 TB
источник

R

Radist in pgsql – PostgreSQL
гм... https://postgrespro.ru/docs/postgresql/12/lo-intro - тут написано 1гб у bytea в TOAST и 4тб у large object.
источник

KK

Konstantin K in pgsql – PostgreSQL
Всем привет! Почему после lo_unlink размер базы не уменьшается?
источник

R

Radist in pgsql – PostgreSQL
Konstantin K
Всем привет! Почему после lo_unlink размер базы не уменьшается?
vacuum должен пройтись по pg_catalog.pg_largeobject
источник

R

Radist in pgsql – PostgreSQL
и то, если данные не в конце таблицы, то не поможет без full.
источник

KK

Konstantin K in pgsql – PostgreSQL
а принудительно почистить нельзя?
источник

ФГ

Федор Гулин... in pgsql – PostgreSQL
Как задать create extension чтобы функции оттуда можно было юзать во вью.
Аналог pivot в оракле вроде crosstab интересно в 1 очередь.
Postgres 10 в Azure
источник