Thread: Problem with data migration from 9.1 to 9.2

Problem with data migration from 9.1 to 9.2

From
Daniel Krysiak
Date:
Hi,

I'm using Arch Linux i686, and postgresql-old-upgrade package which
provides /opt/pgsql-9.1/
Here is exactly what I did (this procedure has always worked for me)

su - postgres
cd /var/lib/postgres
mv data data-9.1
mkdir data
initdb --locale en_US.UTF-8 -D /var/lib/postgres/data
pg_upgrade -b /opt/pgsql-9.1/bin/ -B /usr/bin/ -d
/var/lib/postgres/data-9.1 -D /var/lib/postgres/data'

Every step is marked "ok".

This is my first migration from 9.1 to 9.2.
The only difference from what I usually do, is that this time I needed
to set --locale en_US.UTF-8, because of pg_upgrade error:
lc_collate cluster values do not match:  old "en_US.UTF-8", new "C"

Now I can connect, but database looks empty, like Postgre couldn't see
my schemas and users. pg_upgrade did "something" because:
du -s data*
34876    data
34068    data-9.1


Moving back and run 9.1 to use pg_dumpall is quite impossible, or at
least vary difficult with Arch Linux, so I would really appreciate some
other suggestions.
--
Daniel Krysiak


Re: Problem with data migration from 9.1 to 9.2

From
Andrzej Zawadzki
Date:
On 04.03.2013 13:53, Daniel Krysiak wrote:
> Hi,
>
> I'm using Arch Linux i686, and postgresql-old-upgrade package which
> provides /opt/pgsql-9.1/
> Here is exactly what I did (this procedure has always worked for me)
>
> su - postgres
> cd /var/lib/postgres
> mv data data-9.1
> mkdir data
> initdb --locale en_US.UTF-8 -D /var/lib/postgres/data
> pg_upgrade -b /opt/pgsql-9.1/bin/ -B /usr/bin/ -d
> /var/lib/postgres/data-9.1 -D /var/lib/postgres/data'
>
> Every step is marked "ok".
>
> This is my first migration from 9.1 to 9.2.
> The only difference from what I usually do, is that this time I needed
> to set --locale en_US.UTF-8, because of pg_upgrade error:
> lc_collate cluster values do not match:  old "en_US.UTF-8", new "C"
>
I had to init new db cluster like that:

initdb -D /var/lib/pgsql/data_new -E UTF8 --lc-collate=C --lc-ctype=C
--lc-monetary=C --lc-numeric=C -U postgres

Try.

--
Andrzej Zawadzki