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

Восстановление работает, работает годами, что еще можно понимать? оно срабатывает даже

при смене версий, хотя и не гарантировано
я все еще жду кейс когда такое восстановление запоролось и по какой причине
на моей практике - никогда, хотя я с такими видами бекапов и не часто сталкивался, все же
и не слышал ни от кого

11 ответов

20 просмотров

Есть один вариант, когда автоматически дамп не развернётся: при нарушении целостности из-за неправильного порядка вставки записей. Проще всего подстроить если внешний ключ вешается на исходную таблицу (для хранения дерева или графа). Но в этом случае есть возможность ручками поправить порядок команд, хотя это будет тот ещё ад.

То, что Вы чего-то не видели в своей практике, означает, что этого не существует? ;) Вот посмотрите. Ну и вообще, недостатки дампов на этом не заканчиваются (и документация лжёт даёт неправильную информацию о его свойствах), но с ними, к счастью, ещё реже сталкиваются на практике. А столкнувшись — переходят на другую работу другую СУБД нормальное решение. ;)

Yaroslav Schekin
То, что Вы чего-то не видели в своей практике, озн...

а есть патч на эту документацию полайкать на коммитфесте?

D- Автор вопроса
Yaroslav Schekin
То, что Вы чего-то не видели в своей практике, озн...

это называется подводные камни, к томуж е довольно редкие, и вот поэтому хотелось бы обсуждать причины таких отказов в ресторах, а не собственно просто заявления о том, что они случаются.

D
это называется подводные камни, к томуж е довольно...

Причина проста: можно сделать циклические ссылки в записях, так что А ссылается на Б, а Б ссылается на А и в лоб такое не вставишь. Такое можно разрулить только отложенной проверкой ключей (чего нет, если я правильно помню) либо костылями (вставить А с null, вставить Б, поменять в А null на ссылку на Б).

D- Автор вопроса
Евгений Смирнов
Причина проста: можно сделать циклические ссылки в...

это зависит от того, как добавляются ограничения, до заливки данных или после логично сначала залить данные, а потом добавить или активировать внешние ключи я не знаю как именно утсроен внутри пгдамп, но он по идее обязан такое учитывать, иначе графы им вообще не залить никакие

Darafei Praliaskouski
а есть патч на эту документацию полайкать на комми...

Нет. Я не уверен, что могу грамотно писать нетривиальные изменения в английскую документацию. А так-то про дюжины [дюжин] ошибок я в -hackers (или -docs, не помню) сообщал... и большая их часть всё ещё с нами, насколько я помню. ;(

Евгений Смирнов
Есть один вариант, когда автоматически дамп не раз...

Не один. И есть ещё варианты, когда консистентный дамп не снимется. И [некоторые/многие] hackers о них, естественно, знают, но... worse is better (и вообще, возвращаясь к началу темы: "dump is not backup, didn't you know?!" и "well, who cares what's written in documentation?!" ;) ).

D
это называется подводные камни, к томуж е довольно...

А мой посыл в "против дампов" состоит вовсе не в этих "камнях", то-то и оно. А в том, что реалистичные RPO/RTO с ними обеспечить в нетривиальных случаях нереально — и других причин не пользоваться ими уже не нужно.

D- Автор вопроса
Yaroslav Schekin
А мой посыл в "против дампов" состоит вовсе не в э...

ну как архивы-то хоть можно? по прямому назначению

D
ну как архивы-то хоть можно? по прямому назначению

По-моему, Вы так и не ответили, что такое "архивы" в принципе (потому что в документации слово же используется, а не определяется... или нет)?

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

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

а через ESC-код ?
Alexey Kulakov
29
30500 за редактор? )
Владимир
47
Чёт не понял, я ж правильной функцией воспользовался чтобы вывести отладочную информацию? но что-то она не ловится
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
Как передать управляющий символ в открытую через CreateProcess консоль? Собсна, есть процедура: procedure TRedirectThread.WriteData(Data: OEMString); var Written: Cardinal;...
Serjone
6
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
Ребят в СИ можно реализовать ООП?
Николай
33
у вас два процесса. один посылает другому сигнал. у вас есть код обоих процессов? если всё не так - расскажите как оно на самом деле. а именно кто кому чего, есть-ли консоли,...
Karagy
6
вы делали что-то подобное и как? может есть либы готовые? увидел картинку нокода, где всё линиями соединено и стало интересно попробовать то же в ddl на lua сделать. решил с ч...
Victor
8
Карта сайта