Possible bug in conversion_create.sql
Hello,
I had a problem with PostgreSQL 7.3.4, the pg_conversion table was empty after
initdb, so, no conversion could be made. I did exactly this:
# tar xvzf postgres-7.3.4.tar.gz
# cd postgres-7.3.4
# ./configure --prefix=/var/lib/pgsql --with-java --with-openssl
--without-readline
# make
# make install
Created the postgres user and group and did chown postgres:postgres
/var/lib/pgsql -R
# su - postgres
postgres$ initdb --pgdata /var/lib/pgsql/data
postgres$ exit
Runned /etc/init.d/postgres start, that have the following command:
# su - $PG_USER -c "$PG_BASE/bin/pg_ctl start -D '$PG_DATA' -s -l '$PG_LOGFILE'
-o '-N 1024 -B 2048 -i'"
Where: PG_USER=postgres, PG_BASE=/var/lib/pgsql, PG_DATA=/var/lib/pgsql/data
and PG_LOGFILE=/var/lib/pgsql/data/postgres.log
Until here everything looked fine, but then JDBC tried on a database created
with LATIN1 encoding:
set client_encoding='UNICODE';
And got back: Conversion between LATIN1 and UNICODE is not supported
With the help of two people from #postgresql at irc.freenode.org, I did a
initdb -d --pgdata data 2>debug.log and founded out that the problem was that
conversion_create.sql wasn't changing $libdir to the actual name
(/var/lib/pgsql/lib in my case). I did a sed on it and runned initdb, this time
everything runned fine.
I hope this help this great database,
Thanks,
Silvio Fonseca
Linux Consultant
"" <silvio@relato.com.br> writes:
With the help of two people from #postgresql at irc.freenode.org, I did a
initdb -d --pgdata data 2>debug.log and founded out that the problem was that
conversion_create.sql wasn't changing $libdir to the actual name
It's not supposed to. I don't know what problem you had, but this is
the wrong fix.
regards, tom lane
With the help of two people from #postgresql at irc.freenode.org, I did a
initdb -d --pgdata data 2>debug.log and founded out that the problem was
that conversion_create.sql wasn't changing $libdir to the actual name
It's not supposed to. I don't know what problem you had, but this is
the wrong fix.
I'm sure that sed isn't the correct procedure :-) Somewhere in the way (in the
instalation or in runtime), postgres should change libdir to the actual dir
name, since the error was "no such file or directory"...
But the problem was solved with the change. I'm not a postgres master at all,
so, how postgres knows what to use on the libdir variable? Where the variable
is defined? How I know if this is set?
Thanks for any anwer :-)
Silvio Fonseca
Linux Consultant
"" <silvio@relato.com.br> writes:
It's not supposed to. I don't know what problem you had, but this is
the wrong fix.
But the problem was solved with the change. I'm not a postgres master
at all, so, how postgres knows what to use on the libdir variable?
Where the variable is defined? How I know if this is set?
$libdir is expanded on-the-fly when the dynamic function loader needs to
find the file. The value that is used for it can be found from
pg_config --pkglibdir
regards, tom lane