Re: Alternative to psql -c ?

From: James Le Cuirot <chewi(at)aura-online(dot)co(dot)uk>
To: Tom Lane <tgl(at)sss(dot)pgh(dot)pa(dot)us>
Cc: pgsql-general <pgsql-general(at)postgresql(dot)org>
Subject: Re: Alternative to psql -c ?
Date: 2014-06-27 09:28:03
Message-ID: 20140627102803.1c036b86@red.yakaraplc.local
Views: Raw Message | Whole Thread | Download mbox | Resend email
Thread:
Lists: pgsql-general

On Thu, 26 Jun 2014 15:00:56 -0700
Tom Lane <tgl(at)sss(dot)pgh(dot)pa(dot)us> wrote:

> James Le Cuirot <chewi(at)aura-online(dot)co(dot)uk> writes:
> > Tom Lane <tgl(at)sss(dot)pgh(dot)pa(dot)us> wrote:
> >> PG is not capable of executing queries that are not in
> >> transactions, so yes, PQsendQuery will create a single-statement
> >> transaction if you haven't sent BEGIN. However, there's a huge
> >> difference for the purposes we're discussing here: PQsendQuery
> >> does not allow more than one SQL command in the string. So most
> >> of this discussion is irrelevant when you're going through that
> >> API.
>
> > Heh, are you sure? From the docs...
>
> > "Using PQsendQuery and PQgetResult solves one of PQexec's problems:
> > If a command string contains multiple SQL commands, the results of
> > those commands can be obtained individually."
>
> Oh, sorry, I was confusing that with the extended-query-mode API
> (PQexecParams).
>
> Yeah, PQsendQuery is like PQexec for this purpose --- the backend does
> not actually know the difference.

Okay so you're implying that it does the same kind of transaction
wrapping as PQexec, right? But is it considered to be problematic and
deprecated like PQexec or is it safe for multiple statements? Sorry for
the never ending questions. :)

James

In response to

Browse pgsql-general by date

  From Date Subject
Next Message Oliver 2014-06-27 12:55:13 Re: [pgadmin-support] Best backup strategy for production systems
Previous Message Rémi Cura 2014-06-27 08:18:08 Re: python modul pre-import to avoid importing each time