Re: createdb script bug in 7.3RC2?

Поиск
Список
Период
Сортировка
Искать

Re: createdb script bug in 7.3RC2?

От:
Tom Lane <tgl@sss.pgh.pa.us>
Дата:
Jean-Christian Imbeault  writes:
> I editing bin/createdb, hard coding the value of PGLIB and createdb then 
> worked fine.

This is certainly not the correct solution.

			regards, tom lane

Re: createdb script bug in 7.3RC2?

От:
Tom Lane <tgl@sss.pgh.pa.us>
Дата:
Jean-Christian Imbeault  writes:
>> This is certainly not the correct solution.

> I certainly agree. What can I do to pin-point the root cause of the 
> problem? My environment vars seem to be set correctly so I don't 
> understand why the createlang script is not picking them up ...

I'm still wondering if you are actually invoking a 7.3 server, and not
an old pre-7.1 one.  'psql -c "select version()"' would tell the tale.

Barring that, try adding some debug printouts to
expand_dynamic_library_name() in src/backend/utils/fmgr/dfmgr.c
to see what file names it's actually trying (or just step through it
with a debugger).

			regards, tom lane

Re: createdb script bug in 7.3RC2?

От:
Tom Lane <tgl@sss.pgh.pa.us>
Дата:
Jean-Christian Imbeault  writes:
> As a follow-up I get an error when dropping plpgsql and then trying to 
> re-create it ...

> $ psql JC -c "drop language plpgsql cascade"
> NOTICE:  Drop cascades to function cancell_all_li()
> NOTICE:  Drop cascades to trigger insert_invoices on table invoices
> NOTICE:  Drop cascades to function update_invoice_price()
> NOTICE:  Drop cascades to trigger update_invoice_li_price on table 
> invoice_li
> NOTICE:  Drop cascades to function max(date,date,date)
> DROP LANGUAGE
> $ createlang plpgsql JC
> ERROR:  function plpgsql_call_handler already exists with same argument 
> types
> createlang: language installation failed

> Once a language is dropped I should be able to re-add it no? Or isn't 
> dropping it enough?

DROP LANGUAGE only drops the pg_language entry, not the call handler.

I think the dropdb script would drop the handler too, but you didn't
do that.

			regards, tom lane

Re: createdb script bug in 7.3RC2?

От:
Tom Lane <tgl@sss.pgh.pa.us>
Дата:
I said:
> DROP LANGUAGE only drops the pg_language entry, not the call handler.

> I think the dropdb script would drop the handler too, but you didn't
> do that.

s/dropdb/droplang/, of course.  Sorry.

			regards, tom lane

createdb script bug in 7.3RC2?

От:
Jean-Christian Imbeault <jc@mega-bucks.co.jp>
Дата:
Seems to be a bug in the bin/createdb script. I tried to use the script 
as is and got the following error:

$ createlang plpgsql JC
ERROR:  stat failed on file '$libdir/plpgsql': No such file or directory
createlang: language installation failed

But my PGLIB path is correct:

$ set | grep PG
PGDATA=/usr/local/pgsql/data
PGLIB=/usr/local/pgsql/lib

I editing bin/createdb, hard coding the value of PGLIB and createdb then 
worked fine. The edits are given below.I don't know any shell scripting 
or much about pg's internal so I have no idea why this problem occurs.

But I can see why createdb can't figure out by itself what the value of 
PGLIB is.

The edits on bin/createlang:

189a190
 > PGLIB=/usr/local/pgsql/lib

Hope this helps. And if it is not a bug but a problem with my 
installation, configuration please let me know.

Jc

Re: createdb script bug in 7.3RC2?

От:
Jean-Christian Imbeault <jc@mega-bucks.co.jp>
Дата:
Tom Lane wrote:
> 
>>I editing bin/createdb, hard coding the value of PGLIB and createdb then 
>>worked fine.
> 
> This is certainly not the correct solution.

I certainly agree. What can I do to pin-point the root cause of the 
problem? My environment vars seem to be set correctly so I don't 
understand why the createlang script is not picking them up ...

Jc

Re: createdb script bug in 7.3RC2?

От:
Jean-Christian Imbeault <jc@mega-bucks.co.jp>
Дата:
Tom Lane wrote:
 >
 > I'm still wondering if you are actually invoking a 7.3 server, and not
 > an old pre-7.1 one.  'psql -c "select version()"' would tell the tale.

[postgres@localhost work]$ psql JC -c "select version()"
                            version
--------------------------------------------------------------
  PostgreSQL 7.3rc2 on i686-pc-linux-gnu, compiled by GCC 2.96
(1 row)

 > Barring that, try adding some debug printouts to
 > expand_dynamic_library_name() in src/backend/utils/fmgr/dfmgr.c
 > to see what file names it's actually trying (or just step through it
 > with a debugger).

I'll try but that's a bit over my head ... I don't know much C or shell 
programming.

Jc

Re: createdb script bug in 7.3RC2?

От:
Jean-Christian Imbeault <jc@mega-bucks.co.jp>
Дата:
As a follow-up I get an error when dropping plpgsql and then trying to 
re-create it ...

$ psql JC -c "drop language plpgsql cascade"
NOTICE:  Drop cascades to function cancell_all_li()
NOTICE:  Drop cascades to trigger insert_invoices on table invoices
NOTICE:  Drop cascades to function update_invoice_price()
NOTICE:  Drop cascades to trigger update_invoice_li_price on table 
invoice_li
NOTICE:  Drop cascades to function max(date,date,date)
DROP LANGUAGE
$ createlang plpgsql JC
ERROR:  function plpgsql_call_handler already exists with same argument 
types
createlang: language installation failed

Once a language is dropped I should be able to re-add it no? Or isn't 
dropping it enough?

Jc

Re: createdb script bug in 7.3RC2?

От:
Jean-Christian Imbeault <jc@mega-bucks.co.jp>
Дата:
You must have been right about the problem being due to something being 
leftover from the old DB because I cannot recreate the problem anymore.

Sorry to have spotted a non-existent bug.

Jc

Re: createdb script bug in 7.3RC2?

От:
Peter Eisentraut <peter_e@gmx.net>
Дата:
Jean-Christian Imbeault writes:

> But my PGLIB path is correct:

PGLIB doesn't do anything.

At all.

Really.

-- 
Peter Eisentraut   peter_e@gmx.net
FAQ