Что можно ожидать, если после обновления с postgres 8.x до 9.x и запускать pg_upgrade с опцией -link, я «понижаю» до 8.x (что означает, я отключил демон pg-9 и запустил демон pg-8)?Повторные обновления и понижения PostgreSQL 8.x-9.x-8.x-9.x
В частности, предположим, что пока я был в pg-9, я вставил некоторые данные в таблицы? Могу ли я ожидать, что эти данные вернутся к pg-8? Это зависит от того, были ли таблицы, в которые я вставлял эти данные, уже существовал во время моего pg_upgrade? И (назовите меня извращенным), предположим, что я переустановил pg-9, повторно переделал до pg-8 и так много раз. Есть ли какие-либо гарантии, или я беру свои шансы?
Я провел несколько небольших испытаний. Я нахожу, что после первого понижения я вернулся примерно к данным, которые у меня были до того, как я запустил pg_upgrade. Грубо, не совсем. И с каждым циклом обновления-понижения, кажется, получается более «грубо».
Теперь я могу жить с «грубой» частью. Однако я действительно ненавижу, если после слишком много повторного повторного обновления/понижения, у меня закончилась безвозвратно поврежденная БД. Должно быть, это беспокойство?
Наконец-то, я знаю о pg_dump, но по причине времени и хранения я хотел бы избежать этого, если это возможно.
Что вы пытаетесь выполнить путем повторных обновлений и понижений? –
Ну, postgresql - это единый продукт, который я бы хотел отправить. Текущая версия моего продукта поставляется в комплекте с postgres-8, а в следующей версии - postgres-9. Поэтому меня просто интересуют, что будут испытывать мои пользователи, если они будут обновлены до * моей новой версии, но потом, чувствуя себя несчастным по какой-либо причине, они решили перейти на мою более старую версию. И затем, возможно, получив их мужество, они решают обновить. –
В интересах сохранения данных ваших пользователей, вероятно, лучше всего потребовать сброс и перезагрузку в случае понижения. Это громоздко, конечно, но это лучше, чем dataloss. –