psql and shell scripts

Поиск
Список
Период
Сортировка
От Michael Fork
Тема psql and shell scripts
Дата
Msg-id Pine.BSI.4.21.0103252342290.6476-100000@glass.toledolink.com
обсуждение исходный текст
Ответы Re: psql and shell scripts  (Tom Lane <tgl@sss.pgh.pa.us>)
Список pgsql-general
I am running the following command from a bash script:

/usr/local/pgsql/bin/psql -c "BEGIN; CREATE TEMP TABLE
radacct_archive_temp AS SELECT * FROM radacct_archive WHERE
date_part('month', tstamp) = ${RADACCT_MONTH} AND date_part('year',
tstamp) = ${RADACCT_YEAR}; UPDATE radacct_archive_te mp SET
framedipaddress = NULL WHERE framedipaddress = ''; COPY radacct_archive_t
emp TO '$COPY_RADACCT'; COMMIT;" $MAIN_DB

which produces this entry in the log file:

query: BEGIN; CREATE TEMP TABLE radacct_archive_temp AS SELECT * FROM
radacct_archive WHERE date_part('month', tstamp) = 06 AND
date_part('year', tstamp) = 2000; UPDATE radacct_archive_temp SET
framedipaddress = NULL WHERE framedipaddress = ''; COPY
radacct_archive_temp TO '/usr/local/pgsql/radius.R73573'; COMMIT;

which shows all of the variables have been properly substituted, leaving
(what appears to me) valid SQL.

However, the script produces the error:

ERROR:  Relation 'radacct_archive_temp' does not exist

which doesn't make sense to me, as it is clearly created first, and inside
of a transaction.  If I paste exactly what is in the log into a psql
window, it works as expected.

What am I missing (it has to be simple...)

Thanks!

Michael Fork - CCNA - MCP - A+
Network Support - Toledo Internet Access - Toledo Ohio


В списке pgsql-general по дате отправления:

Предыдущее
От: "Brett W. McCoy"
Дата:
Сообщение: Re: about creating DB
Следующее
От: Tom Lane
Дата:
Сообщение: Re: psql and shell scripts