Postgresql 7.1.3

I'm having a problem with createlang.

Commands:

[postgres@boxy postgres]$ createdb test1
Password:                                                   <----- Correct
password
CREATE DATABASE
[postgres@boxy postgres]$ createlang plpgsql test1
Password:                                                   <----- Correct
password (does not say it was incorrect, the first character is upper
case)
Password:                                                   <-----
Incorrect password "something"
psql: Password authentication failed for user 'postgres'
Password:                                                   <-----
Incorrect password "something"
psql: Password authentication failed for user 'postgres'
createlang: language installation failed
[postgres@boxy postgres]$

Logs corresponding to those commands:

2001-10-22 15:15:22 [13115]  DEBUG:  connection: host=[local]
user=postgres database=template1
2001-10-22 15:15:33 [13125]  DEBUG:  connection: host=[local]
user=postgres database=test1
Password authentication failed for user 'postgres'
Password authentication failed for user 'postgres'

pg_hba.conf entry:
local        all                                           crypt

Now again have a look at this (quite interesting):

[postgres@boxy postgres]$ dropdb test1
Password:
DROP DATABASE
[postgres@boxy postgres]$ createdb test1
Password:
CREATE DATABASE
[postgres@boxy postgres]$ createlang -l test1
Password:
    Procedural languages
 Name | Trusted? | Compiler
------+----------+----------
(0 rows)

[postgres@boxy postgres]$ createlang plpgsql test1
Password:
Password:
Password:
Password:
[postgres@boxy postgres]$ createlang -l test1
Password:
     Procedural languages
  Name   | Trusted? | Compiler
---------+----------+----------
 plpgsql | t        | PL/pgSQL
(1 row)

[postgres@boxy postgres]$

I had to enter the password 4 times for it to create the language.

Thanks.


Mon, 22 Oct 2001 15:24:28 +1000 (EST)
speedboy <speedboy@nomicrosoft.org>
createlang difficulty.
I just tried it with current sources and got:

	#$ aspg createlang plpgsql test
	Password: <- bad password
	FATAL 1:  Password authentication failed for user "postgres"
	psql: FATAL 1:  Password authentication failed for user "postgres"
	
	createlang: external error
	#$ aspg createlang plpgsql test
	Password: <- correct password
	Password: <- correct password
	Password: <- correct password
	Password: <- correct password

Looks OK to me.

> Postgresql 7.1.3
> 
> I'm having a problem with createlang.
> 
> Commands:
> 
> [postgres@boxy postgres]$ createdb test1
> Password:                                                   <----- Correct
> password
> CREATE DATABASE
> [postgres@boxy postgres]$ createlang plpgsql test1
> Password:                                                   <----- Correct
> password (does not say it was incorrect, the first character is upper
> case)
> Password:                                                   <-----
> Incorrect password "something"
> psql: Password authentication failed for user 'postgres'
> Password:                                                   <-----
> Incorrect password "something"
> psql: Password authentication failed for user 'postgres'
> createlang: language installation failed
> [postgres@boxy postgres]$
> 
> Logs corresponding to those commands:
> 
> 2001-10-22 15:15:22 [13115]  DEBUG:  connection: host=[local]
> user=postgres database=template1
> 2001-10-22 15:15:33 [13125]  DEBUG:  connection: host=[local]
> user=postgres database=test1
> Password authentication failed for user 'postgres'
> Password authentication failed for user 'postgres'
> 
> pg_hba.conf entry:
> local        all                                           crypt
> 
> Now again have a look at this (quite interesting):
> 
> [postgres@boxy postgres]$ dropdb test1
> Password:
> DROP DATABASE
> [postgres@boxy postgres]$ createdb test1
> Password:
> CREATE DATABASE
> [postgres@boxy postgres]$ createlang -l test1
> Password:
>     Procedural languages
>  Name | Trusted? | Compiler
> ------+----------+----------
> (0 rows)
> 
> [postgres@boxy postgres]$ createlang plpgsql test1
> Password:
> Password:
> Password:
> Password:
> [postgres@boxy postgres]$ createlang -l test1
> Password:
>      Procedural languages
>   Name   | Trusted? | Compiler
> ---------+----------+----------
>  plpgsql | t        | PL/pgSQL
> (1 row)
> 
> [postgres@boxy postgres]$
> 
> I had to enter the password 4 times for it to create the language.
> 
> Thanks.
> 
> 
> ---------------------------(end of broadcast)---------------------------
> TIP 6: Have you searched our list archives?
> 
> http://archives.postgresql.org
> 

-- 
  Bruce Momjian                        |  http://candle.pha.pa.us
  pgman@candle.pha.pa.us               |  (610) 853-3000
  +  If your life is a hard drive,     |  830 Blythe Avenue
  +  Christ can be your backup.        |  Drexel Hill, Pennsylvania 19026

Mon, 22 Oct 2001 14:33:39 -0400 (EDT)
Bruce Momjian <pgman@candle.pha.pa.us>
Re: createlang difficulty.
> I just tried it with current sources and got:
> 
> 	#$ aspg createlang plpgsql test
> 	Password: <- bad password
> 	FATAL 1:  Password authentication failed for user "postgres"
> 	psql: FATAL 1:  Password authentication failed for user "postgres"
> 	
> 	createlang: external error
> 	#$ aspg createlang plpgsql test
> 	Password: <- correct password
> 	Password: <- correct password
> 	Password: <- correct password
> 	Password: <- correct password
> 
> Looks OK to me.

Ok, so it connects four times. From a users perspective that might be
confusing. Is it possible to only prompt once for the password, just an
idea I guess whoever created the program would want that to happen from a
easy to use point of view. I.e. dummy proof?

Thankyou.


Tue, 23 Oct 2001 08:52:05 +1000 (EST)
speedboy <speedboy@nomicrosoft.org>
Re: createlang difficulty.
> > I just tried it with current sources and got:
> > 
> > 	#$ aspg createlang plpgsql test
> > 	Password: <- bad password
> > 	FATAL 1:  Password authentication failed for user "postgres"
> > 	psql: FATAL 1:  Password authentication failed for user "postgres"
> > 	
> > 	createlang: external error
> > 	#$ aspg createlang plpgsql test
> > 	Password: <- correct password
> > 	Password: <- correct password
> > 	Password: <- correct password
> > 	Password: <- correct password
> > 
> > Looks OK to me.
> 
> Ok, so it connects four times. From a users perspective that might be
> confusing. Is it possible to only prompt once for the password, just an
> idea I guess whoever created the program would want that to happen from a
> easy to use point of view. I.e. dummy proof?

Uh, yes, connecting once would be ideal.  It currently runs each SQL
query it needs in psql and checks the exit status.  Not sure how to code
that in one psql session.

-- 
  Bruce Momjian                        |  http://candle.pha.pa.us
  pgman@candle.pha.pa.us               |  (610) 853-3000
  +  If your life is a hard drive,     |  830 Blythe Avenue
  +  Christ can be your backup.        |  Drexel Hill, Pennsylvania 19026

Mon, 22 Oct 2001 19:48:04 -0400 (EDT)
Bruce Momjian <pgman@candle.pha.pa.us>
Re: createlang difficulty.
speedboy <speedboy@nomicrosoft.org> writes:
> Ok, so it connects four times. From a users perspective that might be
> confusing. Is it possible to only prompt once for the password,

This would require replacing the createlang shell script with a
specialized C program.  (Or, perhaps, adding conditional-execution
capability to psql scripts ... which would be very useful but an
awful lot of work.)

It's unlikely to get to the top of anyone's to-do list any time soon,
because the fact of the matter is that if you have Postgres configured
to demand passwords for administrator connections, you're going to have
lots of problems like this.  createlang is not the only script that
invokes multiple programs --- pg_dumpall is another example that's
going to be even harder to work around.

The better answer is to arrange things so that local connections don't
need passwords.  One fairly portable approach is to run an IDENTD daemon
and use ident auth for TCP connections through 127.0.0.1; then you just
say PGHOST=127.0.0.1 and you're home free.

			regards, tom lane

Mon, 22 Oct 2001 19:54:39 -0400
Tom Lane <tgl@sss.pgh.pa.us>
Re: createlang difficulty. 