172 похожих чатов

Добрый день. Изучаю postgresql 12. Делаю бэкап базы ''. Пока

делается бэкап, в исходной БД делаю изменения : удаляю/добавляю таблицы, добавляю/удаляю столбцы в таблицах. В документации сказано "Программа pg_dump не препятствует доступу других пользователей к базе данных (ни для чтения, ни для записи)." Но при это я вижу что транзакции висят до тех пор пока pg_dump не отработает. Правда изменения я делаю через pgAdmin. Подскажите я не понимаю или делаю что-то не так ?

11 ответов

17 просмотров

Какой у вас тип изоляции транзакций ?

Wadik-Wadkovich Автор вопроса
Danil S.
Какой у вас тип изоляции транзакций ?

Опа, не знаю. Вообще по дэфолту стоит, туда не лез

Wadik Wadkovich
Опа, не знаю. Вообще по дэфолту стоит, туда не лез

Там случайно нет пометки, что имеется в виду uncommitted write\read ?

Wadik-Wadkovich Автор вопроса
Danil S.
Там случайно нет пометки, что имеется в виду uncom...

https://postgrespro.ru/docs/postgresql/12/app-pgdump Читаю тут, вроде нету нечего

> Делаю бэкап базы > Программа pg_dump Это не backup, это дамп (и да, документацию я читал, если что). Т.е. использовать их в целях Disaster Recovery практически невозможно в нетривиальных ситуациях. > "Программа pg_dump не препятствует доступу других пользователей к базе данных (ни для чтения, ни для записи)." Это просто неправда (ошибка/неточность в документации). pg_dump блокирует практически весь DDL. > Подскажите я не понимаю или делаю что-то не так ? Вы чересчур доверяете документации. ;( Я Вам больше скажу: pg_dump is a utility for backing up a PostgreSQL database. It makes consistent backups even if the database is being used concurrently. pg_dump does not block other users accessing the database (readers or writers). Каждое предложение здесь — неправда, строго говоря.

Wadik-Wadkovich Автор вопроса
Yaroslav Schekin
> Делаю бэкап базы > Программа pg_dump Это не bac...

> Это не backup, это дамп (и да, документацию я читал, если что). Т.е. использовать их в целях Disaster Recovery практически невозможно в нетривиальных ситуациях. Не понял этого. Я не могу восстановить базу из этого дампа на другом сервере ?

Wadik Wadkovich
> Это не backup, это дамп (и да, документацию я чи...

Скорее всего (но не факт), что сможете. А вообще, дайте я процитирую себя же из -hackers по этому поводу: ;) The whole point of the [Backup and Restore] chapter is backwards. If the data is valuable, one wants to prevent (or recover) from its loss. Backups are just a *mean* for that, while data loss avoidance is the *goal*. Enters disaster recovery (and more broadly business continuity). Two metrics are fundamental to that: RPO and RTO. Using pg_dump, one cannot even get predictable values for those in any non-trivial case. Therefore, "25.1. SQL Dump" should not be first and foremost in the chapter (if mentioned at all); and the whole chapter better be written with the above in mind. At least, it would be nice if dumps were called dumps, not backups, as well as the process of making those was called dumping in "25.1. SQL Dump".

А точно транзакции висят? Какие именно? Ddl будет висеть. И все, что после него.

Wadik-Wadkovich Автор вопроса
Wadik Wadkovich
Да, получается DDL и висели

Не делайте ddl во время dump и будет вам счастье.

Eugeny
Не делайте ddl во время dump и будет вам счастье.

Или не будет (но очень редко, это да — смотря что там в базе наворотили). Это в плане возможности с них "восстановиться", если что.

Похожие вопросы

Обсуждают сегодня

30500 за редактор? )
Владимир
47
а через ESC-код ?
Alexey Kulakov
29
Чёт не понял, я ж правильной функцией воспользовался чтобы вывести отладочную информацию? но что-то она не ловится
notme
18
У меня есть функция где происходит это: write_bit(buffer, 1); write_bit(buffer, 0); write_bit(buffer, 1); write_bit(buffer, 1); write_bit(buffer, 1); w...
~
13
Недавно Google Project Zero нашёл багу в SQLite с помощью LLM, о чём достаточно было шумно в определённых интернетах, которые сопровождались рассказами, что скоро всех "ибешни...
Alex Sherbakov
5
Ребят в СИ можно реализовать ООП?
Николай
33
Как передать управляющий символ в открытую через CreateProcess консоль? Собсна, есть процедура: procedure TRedirectThread.WriteData(Data: OEMString); var Written: Cardinal;...
Serjone
6
в JclConsole объявлено так: function CtrlHandler(CtrlType: DWORD): BOOL; stdcall; - где ваше объявление с stdcall? у вас на картинке нет stdcall
Karagy
8
https://github.com/erlang/otp/blob/OTP-27.1/lib/kernel/src/logger_h_common.erl#L174 https://github.com/erlang/otp/blob/OTP-27.1/lib/kernel/src/logger_olp.erl#L76 15 лет назад...
Maksim Lapshin
20
program test; {$mode delphi} procedure proc(v: int32); overload; begin end; procedure proc(v: int64); overload; begin end; var x: uint64; begin proc(x); end. Уж не знаю...
notme
6
Карта сайта