public inbox for [email protected]  
help / color / mirror / Atom feed
From: Magnus Hagander <[email protected]>
To: Michael Paquier <[email protected]>
Cc: Andres Freund <[email protected]>
Cc: Michael Paquier <[email protected]>
Cc: Petr Jelinek <[email protected]>
Cc: Şahap Aşçı <[email protected]>
Cc: pgsql-docs <[email protected]>
Cc: Fujii Masao <[email protected]>
Subject: Re: libpq options
Date: Fri, 2 Mar 2018 12:58:50 +0100
Message-ID: <CABUevEzwbfDb5fUWc7opVFyGBeCXqChrq-S1KXRSYDDexSuthw@mail.gmail.com> (raw)
In-Reply-To: <[email protected]>
References: <[email protected]>
	<CAB7nPqRZ-8BkUuF1UR+xzg3J+LDTcafbJ75DZGsfn+++iF5_aw@mail.gmail.com>
	<CAB7nPqTMQYKO4AJ6xfz-btAtvL-=CWxYnkXUOVEQGNk4Ey1k=Q@mail.gmail.com>
	<[email protected]>
	<[email protected]>

On Fri, Mar 2, 2018 at 2:50 AM, Michael Paquier <[email protected]> wrote:

> On Thu, Mar 01, 2018 at 01:35:54AM -0800, Andres Freund wrote:
> > On 2017-11-25 19:05:54 +0900, Michael Paquier wrote:
> >> A Boolean value of <literal>true</literal> tells the backend
> >> +       to go into walsender mode, wherein a small set of replication
> commands
> >> +       can be issued instead of SQL statements.
> >
> > This actually is wrong now I think. Petr?
>
> On more or less HEAD:
> $ psql -X -d "replication=1 dbname=postgres"
> postgres=# create table aa (a int);
> ERROR:  cannot execute SQL commands in WAL sender for physical replication
> $ psql -X -d "replication=database dbname=postgres"
> postgres=# create table aa (a int);
> CREATE TABLE
>
> So one needs to use replication=database in order to be able to issue
> normal SQL statements, while replication=true enforces physical
> replication where this cannot happen (no connection to a specified
> database).
>

To nitpick:

+       protocol. A Boolean value of <literal>true</literal> tells the
backend

We don't really have boolean values here, do we? It's just the string true
that's treated as a boolean by the backend. It just sounds really weird to
me when written that way. Particularly since the next sentence talks about
passing "database" as the same thing.

I know that's pretty much nitpicking, but I want to make sure I haven't
actually missed/forgotten how some part of that one is handled..

It also talks separately about "going into walsender mode" (=physical
replication) and "instructs the walsender to connect to the database". I
think that's a bit confusing. I suggest just calling it "physical
replication mode" and "logical replication mode", and not bother mentioning
walsender since that's quite internal.

-- 
 Magnus Hagander
 Me: https://www.hagander.net/ <http://www.hagander.net/;
 Work: https://www.redpill-linpro.com/ <http://www.redpill-linpro.com/;


view thread (13+ messages)  latest in thread

reply

Reply instructions:

You may reply publicly to this message via plain-text email
using any one of the following methods:

* Reply to all the recipients using the --to and --cc options:
  reply via email

  To: [email protected]
  Cc: [email protected], [email protected], [email protected], [email protected], [email protected], [email protected], [email protected]
  Subject: Re: libpq options
  In-Reply-To: <CABUevEzwbfDb5fUWc7opVFyGBeCXqChrq-S1KXRSYDDexSuthw@mail.gmail.com>

* Save the following mbox file, import it into your mail client,
  and reply-to-all from there: mbox

This inbox is served by agora; see mirroring instructions
for how to clone and mirror all data and code used for this inbox