Logs say update done but not actually done or committed into database ???

From: "Atul Chojar" <achojar(at)airfacts(dot)com>
To: <pgsql-admin(at)postgresql(dot)org>
Subject: Logs say update done but not actually done or committed into database ???
Date: 2009-04-22 20:28:10
Message-ID: 00ac01c9c388$db2d56c0$91880440$@com
Views: Raw Message | Whole Thread | Download mbox | Resend email
Thread:
Lists: pgsql-admin

We are facing a strange problem in our 8.2.7 database.

There is a bash shell script that does:-

sql="select distinct to_char(date_of_issue, 'YYYYMM') from
yan.int_prod_s_master order by 1;"
YYYYMM=`/usr/local/pgsql/bin/psql -U postgres -h payday -d sandbox -t -c
"$sql"`
for x in $YYYYMM
do
$scriptdir/USCS_production_updates.sh $x
>>$logdir/USCS_production_updates.log 2>&1
done

The $scriptdir/USCS_production_updates.sh script does updates like:-

YYYYMM=$1
database="us_audit"
db_user="postgres"
db_host="nutrageous"
psql_cmd="/usr/local/pgsql/bin/psql -U ${db_user} -h ${db_host} -d
${database} -e ";
sql="
update int_prod_manual_price_${YYYYMM} mp
set .
from int_prod_s_master_${YYYYMM} sm
where .
and not exists ( select 1 from int_prod_stop_${YYYYMM} where .)
and .;
";
$psql_cmd -c "$SQL"

When these scripts run, the USCS_production_updates.log shows the correct
update statement, with values of YYYYMM substituted in the table names, and
message like "UPDATE 1025" from postgres indicating 1025 rows got updated.

However, none of these updates actually get applied in the database. Auto
commit is on in the database, but it seems the updates do not get committed.

The system logs also show no errors.

Any ideas why above update is not working?

Thanks!
Atul

In response to

  • Re: at 2009-04-22 18:18:49 from Tom Lane

Responses

Browse pgsql-admin by date

  From Date Subject
Next Message Scott Marlowe 2009-04-22 20:30:37 Re: Logs say update done but not actually done or committed into database ???
Previous Message Tom Lane 2009-04-22 18:18:49 Re: