On Fri, Jun 5, 2015 at 9:26 AM, Andres Freund <and...@anarazel.de> wrote:

> On 2015-06-05 09:20:41 +0200, Shulgin, Oleksandr wrote:
> > Hello Hackers,
> >
> > At the moment one can open up a replication connection using psql and use
> > all of the commands available on this special type of connection, except
> > for START_REPLICATION:
> >
> > $ psql -d "dbname=test replication=database"
> > psql (9.4.1)
> > Type "help" for help.
> >
> > test=# IDENTIFY_SYSTEM;
> >       systemid       | timeline |  xlogpos  | dbname
> > ---------------------+----------+-----------+---------
> >  6146106447402521313 |        1 | 0/76422B0 | bw_test
> > (1 row)
> >
> > test=# START_REPLICATION SLOT test LOGICAL 0/0;
> > unexpected PQresultStatus: 8
> > test=#
> >
> > This is due to PGRES_COPY_BOTH not being handled in psql.  With
> > introduction of logical replication I think it makes sense to support
> this
> > mode, for the sake of (semi-)interactive testing from psql.
>
> How would that look like? It's just binary data you'd get back? And what
> would be the feedback messages and such look like, and what would be the
> content?
>

It would be whatever the logical decoding plugin sends.  Makes perfect
sense for OUTPUT_PLUGIN_TEXTUAL_OUTPUT to see it on the terminal.  And you
could even use binary with psql's \o, if you want (though usefulness is
less apparent to me in this case).

Since my intent is to just use it for testing the look of text logical
output, I'm not planning any support for feedback messages in this case.

> For example, one could try replication from different wal positions,
> > different output plugins and/or plugin options, w/o re-establishing the
> > connection, interactively by editing the command directly in psql prompt,
> > as opposed to using pg_recvlogical and editing the command line switches.
>
> You can mostly use the sql functions for that.
>

Maybe I'm missing something, which functions do you have in mind exactly?

--
Alex

Reply via email to