> BTW, doesn't there exist any tool does what "psql -c" does, but is
> written in plain C, not perl? I was looking for such psql replacement,
> but couldn't find any.
As others have noted, psql is written in C, and you're using a wrapper.
Assuming your're on Debian or similar you should be able to invoke the
real psql with:
psql is a C executable that uses libpq directly, and is really rather
low-overhead and fast.
As for how to issue multiple commands in one statement in a shell
script: one way is to use a here document instead of "-c". Eg:
UPDATE blah SET thingy = 7 WHERE otherthingy = 4;
DELETE FROM sometable WHERE criterion = -1;
You can of course wrap statements in explicit transaction BEGIN/COMMIT,
etc, as appropriate.
As you start doing more complex things, and especially once you start
wanting to have both good performance *and* good error handling, you'll
want to move away from sql scripts with psql and toward using perl,
python, or similar so you can use their native interfaces to libpq.
In response to
pgsql-performance by date
|Next:||From: Steve Crawford||Date: 2008-07-31 15:30:35|
|Subject: Re: how to fix problem then when two queries run at the
same time, it takes longer to complete then if run in sequence|
|Previous:||From: Theo Kramer||Date: 2008-07-31 09:52:12|
|Subject: Re: how to fix problem then when two queries run at the same time, it takes longer to complete then if run in sequence|