PREPARE in bash scripts

Started by A.j. Langereisover 20 years ago1 messagesgeneral
Jump to latest
#1A.j. Langereis
a.j.langereis@inter.nl.net

Dear all,

I've written a bash script that looks like the one below:

#!/bin/bash

DBuser='root'
DBname='test'

psql -q --username=$DBuser --dbname=$DBname -c "prepare test_statement (integer) as insert into tbl_test (col_test) values (\\$1)";

tail -f /root/testfile | while read a;
do
psql -q --username=$DBuser --dbname=$DBname -c "execute test_statement ($a)";
done;

psql -q --username=$DBuser --dbname=$DBname -c "deallocate test_statement";

Note that this is very stripped version of the real script, but it gives the same errors:

ERROR: prepared statement "test_statement" does not exist

I persume that this is caused because of the individual statements, each using their own session. But is there a way to avoid this?
In reality the statement that is prepared is much more complex, and the files that are processed are rather big. I hoped to gain more performance by preparing the statement.

Your sincerely,

Aarjan Langereis

Ps. The bash script is ran on an Fedora Core 3 machine using PostgreSQL 8.1.0