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
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 |