It used to be the case that psql could be run thus:

psql -U summer -h numbat template1 <<ZZ
password
<commands>
ZZ

which is very convenient in scripting.

Now, it writes a password prompt (successfully in my case) and tries to 
read the password (presumably from the tty) which fails.

Here is the entire script that fails for me:

#!/bin/bash
set -x
psql -U summer -h $HOSTNAME template1 <<zz
thisisnotthepassword
--\h create
drop DATABASE sharetrader;
CREATE DATABASE sharetrader;
zz

I ran this script from my console:
#!/bin/bash
(
  exec </dev/null
  (
    (
      cat <<zz
to: $USER@$HOSTNAME
cc: summer@$HOSTNAME
subject: postgresql build and test run `date`

zz
      set -x
      time pg.build
          time pg.setupdb
          pg.ss start
          time pg.test
          pg.ss stop
    ) 2>&1) \
          | /usr/sbin/sendmail -t &
)

Presumably opening the tty worked - there is stil a terminal associated 
with the script.

The environment is Red Hat Linux 7.2, 2.4.17 kernel.




---------------------------(end of broadcast)---------------------------
TIP 2: you can get off all lists at once with the unregister command
    (send "unregister YourEmailAddressHere" to [EMAIL PROTECTED])

Reply via email to