Обсуждение: Problem while OS-Update
Hello, upgrading my OS from RedHat 8.0 to FC2, postgresql was also automatically updated from 7.2. to 7.4. Unfortunately, I did not "dumpall"... How can I get my data??? I copied the data-folder to another location and so got running the new postgresql-server. I tried to install the old 7.2.4.tar.gz in a new folder, but it don't go further than ./configure. gmake gives the following lines at the end: (second time tiping gmake) gcc -O2 -Wall -Wmissing-prototypes -Wmissing-declarations -Wl,-rpath,/usr/local/pgsql/lib -export-dynamic access/SUBSYS.o bootstrap/SUBSYS.o catalog/SUBSYS.o parser/SUBSYS.o commands/SUBSYS.o executor/SUBSYS.o lib/SUBSYS.o libpq/SUBSYS.o main/SUBSYS.o nodes/SUBSYS.o optimizer/SUBSYS.o port/SUBSYS.o postmaster/SUBSYS.o regex/SUBSYS.o rewrite/SUBSYS.o storage/SUBSYS.o tcop/SUBSYS.o utils/SUBSYS.o -lz -lcrypt -lresolv -lnsl -ldl -lm -lbsd -lreadline -ltermcap -o postgres commands/SUBSYS.o(.text+0x420a): In function `DoCopy': : undefined reference to `errno' commands/SUBSYS.o(.text+0x4210): In function `DoCopy': : undefined reference to `errno' commands/SUBSYS.o(.text+0x4317): In function `DoCopy': : undefined reference to `errno' commands/SUBSYS.o(.text+0x431d): In function `DoCopy': : undefined reference to `errno' collect2: ld returned 1 exit status gmake[2]: *** [postgres] Fehler 1 gmake[2]: Leaving directory `/usr/local/pgsql/postgresql-7.2.4/src/backend' gmake[1]: *** [all] Fehler 2 gmake[1]: Leaving directory `/usr/local/pgsql/postgresql-7.2.4/src' gmake: *** [all] Fehler 2 [root@whisky postgresql-7.2.4]# There were a lot of lines containing "...Wmissing..." How can I proceed? Thanks for help Heiko
Heiko Pohl <Heiko.Pohl@VR-Web.de> writes: > upgrading my OS from RedHat 8.0 to FC2, postgresql was also > automatically updated from 7.2. to 7.4. Unfortunately, I did not > "dumpall"... How can I get my data??? I copied the data-folder to > another location and so got running the new postgresql-server. I tried > to install the old 7.2.4.tar.gz in a new folder, but it don't go further > than ./configure. gmake gives the following lines at the end: (second > time tiping gmake) > commands/SUBSYS.o(.text+0x420a): In function `DoCopy': > : undefined reference to `errno' You need to add "#include <errno.h>" near the top of src/backend/commands/copy.c, as per this patch: http://developer.postgresql.org/cvsweb.cgi/pgsql-server/src/backend/commands/copy.c.diff?r1=1.145.2.1&r2=1.145.2.2 2003-04-11 16:51 tgl * src/backend/commands/copy.c (REL7_2_STABLE): Add #include <errno.h> per recent reports that it's now necessary on RHL 9. (Not clear why it didn't break long before, actually...) We never put out a 7.2.5, so the change didn't see the light of day in that branch ... regards, tom lane
Thank You, I installed now the 7.2.4-Version and it works. But how do I reach my Data? My 7.2.-installation is now in /usr/local/pgsql/ , my data - also 7.2 - are in /usr/lib/pgsql.old/data/ ...?? Tom Lane wrote: >Heiko Pohl <Heiko.Pohl@VR-Web.de> writes: > > >>upgrading my OS from RedHat 8.0 to FC2, postgresql was also >>automatically updated from 7.2. to 7.4. Unfortunately, I did not >>"dumpall"... How can I get my data??? I copied the data-folder to >>another location and so got running the new postgresql-server. I tried >>to install the old 7.2.4.tar.gz in a new folder, but it don't go further >>than ./configure. gmake gives the following lines at the end: (second >>time tiping gmake) >> >> > > > >>commands/SUBSYS.o(.text+0x420a): In function `DoCopy': >>: undefined reference to `errno' >> >> > >You need to add "#include <errno.h>" near the top of >src/backend/commands/copy.c, as per this patch: > >http://developer.postgresql.org/cvsweb.cgi/pgsql-server/src/backend/commands/copy.c.diff?r1=1.145.2.1&r2=1.145.2.2 > >2003-04-11 16:51 tgl > > * src/backend/commands/copy.c (REL7_2_STABLE): Add #include > <errno.h> per recent reports that it's now necessary on RHL 9. > (Not clear why it didn't break long before, actually...) > >We never put out a 7.2.5, so the change didn't see the light of day >in that branch ... > > regards, tom lane > >---------------------------(end of broadcast)--------------------------- >TIP 6: Have you searched our list archives? > > http://archives.postgresql.org > > >
Heiko Pohl <Heiko.Pohl@VR-Web.de> writes:
> Thank You, I installed now the 7.2.4-Version and it works. But how do I
> reach my Data? My 7.2.-installation is now in /usr/local/pgsql/ , my
> data - also 7.2 - are in /usr/lib/pgsql.old/data/ ...??
Point the postmaster to that data directory with PGDATA or -D switch.
regards, tom lane
Tom Lane wrote:
>Heiko Pohl <Heiko.Pohl@VR-Web.de> writes:
>
>
>>Thank You, I installed now the 7.2.4-Version and it works. But how do I
>>reach my Data? My 7.2.-installation is now in /usr/local/pgsql/ , my
>>data - also 7.2 - are in /usr/lib/pgsql.old/data/ ...??
>>
>>
>
>Point the postmaster to that data directory with PGDATA or -D switch.
>
> regards, tom lane
>
I tried the following:
-bash-2.05b$ /usr/local/pgsql/bin/postmaster -D /var/lib/pgsql.old/data
FATAL 2: The database cluster was initialized with LC_COLLATE
'de_DE.UTF-8' and
LC_CTYPE 'de_DE.UTF-8', but the server was compiled without
locale support.
It looks like you need to initdb or recompile.
-bash-2.05b$
Then:
-bash-2.05b$ /usr/local/pgsql/bin/initdb -D /var/lib/pgsql.old/data/
The files belonging to this database system will be owned by user
"postgres".
This user must also own the server process.
initdb: The directory /var/lib/pgsql.old/data/ exists but is not empty.
If you want to create a new database system, either remove or empty
the directory /var/lib/pgsql.old/data/ or run initdb with
an argument other than /var/lib/pgsql.old/data/.
-bash-2.05b$
How can I recompile? Or is there another possibility?
Heiko
Heiko Pohl <Heiko.Pohl@VR-Web.de> writes:
> -bash-2.05b$ /usr/local/pgsql/bin/postmaster -D /var/lib/pgsql.old/data
> FATAL 2: The database cluster was initialized with LC_COLLATE
> 'de_DE.UTF-8' and
> LC_CTYPE 'de_DE.UTF-8', but the server was compiled without
> locale support.
> It looks like you need to initdb or recompile.
You need configure --enable-locale, or some such switch.
> -bash-2.05b$ /usr/local/pgsql/bin/initdb -D /var/lib/pgsql.old/data/
Do NOT NOT NOT initdb, or you'll have wasted this whole exercise.
regards, tom lane
Tom Lane wrote: >Heiko Pohl <Heiko.Pohl@VR-Web.de> writes: > > >>-bash-2.05b$ /usr/local/pgsql/bin/postmaster -D /var/lib/pgsql.old/data >>FATAL 2: The database cluster was initialized with LC_COLLATE >>'de_DE.UTF-8' and >> LC_CTYPE 'de_DE.UTF-8', but the server was compiled without >>locale support. >> It looks like you need to initdb or recompile. >> >> > >You need configure --enable-locale, or some such switch. > > > Got it!!! :-)))) I have my data now running on the 7.4-server and nothing is lost. Great! Thank You very much! Heiko Pohl