[personal profile] klink0v

Раз уж подял всю эту тему про PostgreSQL.

... Оказывается, я слоупок (никогда такого не было, и вот опять). Один хороший человек давным-давно написал утилиту под названием "pgcopydb". Пакет с ней есть в репозиториях PGDG. Эта утилита выполняет пресловутый "pg_dump | pg_restore", но в несколько потоков и без необходимости писать в промежуточные файлы. Плюс умеет ещё в разную магию наподобие декодирования WAL-ов и "досылки" изменений.

... Не я первый, не я последний столкнулся с проблемой копирования этих самых BLOB-ов. Некий индус тоже не выдержал и написал свой скрипт на питоне, который копирует BLOBы. Утверждает, что ему удается сократить время копирования в сто раз за счёт многопоточности. Хотя мне пока что непонятно как потом эти OID-ы приводить в соответствие между "старыми" и "новыми" таблицами.

... И на самом деле все эти пресловутые "Large Objects" есть ни что иное как... та-да-а-а-ам... bytea-поля в отдельной таблице под названием "pg_largeobject". Просто Postgres "из коробки" предоставляет для них набор готовых wrapper-функций. Блин, а разговоров-то... И чего я раньше эту статью не нашёл. Так что вопрос переделки софта с LO OIDS на bytea-поля обретает внезапную актуальность.

... В природе существует готовое расширение "dblink", которое позволяет нативно выполнять запросы к другой базе данных. То есть технически возможно скопировать сперва только реляции, а BLOB-ы затаскивать в новую базу по мере обращения к ним. Если ничего лучше не придумаю, то попрошу программиста вставить небольшой кусок кода в приложение, который будет эксплуатировать этот dblink. Тоже вариант.

А так, попробую сперва вариант с pgcopydb + SSD. Может и прокатит.

This account has disabled anonymous posting.
If you don't have an account you can create one now.
HTML doesn't work in the subject.
More info about formatting

Profile

Sergeich

March 2026

S M T W T F S
12345 6 7
8 91011 121314
15 16 17 18 1920 21
22232425262728
293031    

Most Popular Tags

Style Credit

Expand Cut Tags

No cut tags
Page generated Mar. 23rd, 2026 09:32 am
Powered by Dreamwidth Studios