Re: BUG #7573: data loss in corner case using delete_old_cluster.sh (pg_upgrade)

Поиск
Список
Период
Сортировка
От Maxim Boguk
Тема Re: BUG #7573: data loss in corner case using delete_old_cluster.sh (pg_upgrade)
Дата
Msg-id CAK-MWwQ7+HxYfjV7mrC-c5St305+Nxqpn2=zSvjOYmmgkbCJWw@mail.gmail.com
обсуждение исходный текст
Ответ на Re: BUG #7573: data loss in corner case using delete_old_cluster.sh (pg_upgrade)  (Bruce Momjian <bruce@momjian.us>)
Ответы Re: BUG #7573: data loss in corner case using delete_old_cluster.sh (pg_upgrade)  (Bruce Momjian <bruce@momjian.us>)
Список pgsql-bugs
> > Test database have a bit unusual tablespace layout:
> > main tablespace partition was mounted inside data directory of the old
> > cluster...
> > E.g.:
> > data directory - /var/lib/postgresql/9.2/main
> > main tablespace (another partition mount point) -
> > /var/lib/postgresql/9.2/main/largedb
>
> Can you show us the data directory path of the old and new clusters?
>

--old-datadir=3D/var/lib/postgresql/9.0/main
--new-datadir=3D/var/lib/postgresql/9.2/main

second partition used as tablespace were mounted as:
/var/lib/postgresql/9.0/main/largedb


> pg_upgrade really doesn't know what is inside that old cluster, so it
> just deletes everything under the data directory.
>

Hmm... may be good idea to try opposite way:
default directories and files layout in PostgreSQL data directory well
documented and almost never changes.
May be instead of rm -rf whole data directory try rm -rf only files and
directories which sure belong to the PostgreSQL?

Something along with:
1)rm -rf base global pg_clog pg_multixact ... and so on
2)produce warning if any unusual files left in data directory after that
(but not delete them).
3)delete data directory itself only if that directory completely empty
after step 1 and 2

PS: I know that solution will be not completely error-prone but it will
prevent most probably data-loss scenarios. So it's better then nothing.

PS: I also think deleting postgresql.conf and pg_hba.conf from old data
directory is wrong move too... if admin forget copy pg_hba.conf to the new
cluster - these settings could be lost forever after delete_old_cluster.sh =
.

--
>   Bruce Momjian  <bruce@momjian.us>        http://momjian.us
>   EnterpriseDB                             http://enterprisedb.com
>
>   + It's impossible for everything to be true. +
>



--=20
Maxim Boguk
Senior Postgresql DBA
http://www.postgresql-consulting.ru/ <http://www.postgresql-consulting.com/=
>

Phone RU: +7 910 405 4718
Phone AU: +61 45 218 5678

Skype: maxim.boguk
Jabber: maxim.boguk@gmail.com
=D0=9C=D0=BE=D0=B9=D0=9A=D1=80=D1=83=D0=B3: http://mboguk.moikrug.ru/

"People problems are solved with people.
If people cannot solve the problem, try technology.
People will then wish they'd listened at the first stage."

В списке pgsql-bugs по дате отправления:

Предыдущее
От: Tom Lane
Дата:
Сообщение: Re: RE:Re: BUG #7556 addition info
Следующее
От: Mark Kirkwood
Дата:
Сообщение: Pg_stat_replication shows sync standby with flush location behind primary in 9.1.5