Re: How to made available for a database an already installed language on another database ?

From: Richard Bayet <bayet(at)enseirb(dot)fr>
To: Tom Lane <tgl(at)sss(dot)pgh(dot)pa(dot)us>
Cc: pgsql-admin(at)postgresql(dot)org
Subject: Re: How to made available for a database an already installed language on another database ?
Date: 2001-01-17 11:49:01
Message-ID: 3A6586AD.4BEA606@enseirb.fr
Views: Raw Message | Whole Thread | Download mbox | Resend email
Thread:
Lists: pgsql-admin

Tom Lane a écrit :

> Richard Bayet <bayet(at)enseirb(dot)fr> writes:
> > And the problem is that they can't add any language support with
> > createlang.
> > Anytime they tried (for example '$>createlang plpgsql theirdb'), the
> > program seemed to "freeze" on authentification ...
> > They got a :
> > "$> createlang plpgsql theirdb
> > Password: THEIRPASS Password: THEIRPASS Password: THEIRPASS"
>
> They just needed to be a little more patient ;-) IIRC, the createlang
> script invokes psql four or five times, so if you are using password
> authentication you're going to have to enter the password four or five
> times.
>
> I agree, this isn't particularly user-friendly ... but then, password
> auth is inherently not user-friendly for something you invoke
> frequently. You might want to look at the other auth methods.
>
> regards, tom lane

Thanks a lot Tom, that do solves the first part of my problem...
Has anyone an idea about the second part, that is, one the
authentification passed, this error message:
"$>createlang plpgsql theirdb
createlang: A function named 'plpgsql_call_handler' already exists.
Installation aborted." ?
Actually, here's the situation on the base (results from "select * from
pg_language")
For template1:
lanname | lanispl | lanpltrusted | lanplcallfoid |
lancompiler
----------+---------+--------------+---------------+-------------
internal | f | f |
0 | n/a
C | f | f |
0 | /bin/cc
sql | f | f |
0 | postgres

For theirdb: (the "user" db)
lanname | lanispl | lanpltrusted | lanplcallfoid |
lancompiler
----------+---------+--------------+---------------+-------------
internal | f | f |
0 | n/a
C | f | f |
0 | /bin/cc
sql | f | f |
0 | postgres

For myowndb: (the very first db i created an onto which i installed
plpgsql without any trouble)
lanname | lanispl | lanpltrusted | lanplcallfoid |
lancompiler
----------+---------+--------------+---------------+-------------
internal | f | f |
0 | n/a
C | f | f |
0 | /bin/cc
sql | f | f |
0 | postgres
plpgsql | t | t | 56992 |
PL/pgSQL

Is there any way to "reference" (inherit ?) the plpgsql language installed
for myowndb, and thus making it accessible for the other databases ?
Isn't there a inherit procedure to make any database inherit template1's
installed language ?
(I would have to drop plpgsql from myowndb and reinstall it for template1,
but there shouldn't be a problem as long as I know the right procedure)
Any idea to do this, even with very non user-friendly SQL queries ?

In response to

Responses

Browse pgsql-admin by date

  From Date Subject
Next Message Tom Lane 2001-01-17 15:08:22 Re: How to made available for a database an already installed language on another database ?
Previous Message Tom Lane 2001-01-17 04:34:43 Re: How to made available for a database an already installed language on another database ?