Re: Sharing more infrastructure between walsenders and regular backends (was Re: Switching timeline over streaming replication) - Mailing list pgsql-hackers

From Andres Freund
Subject Re: Sharing more infrastructure between walsenders and regular backends (was Re: Switching timeline over streaming replication)
Date
Msg-id 201210042345.14727.andres@2ndquadrant.com
Whole thread Raw
In response to Re: Sharing more infrastructure between walsenders and regular backends (was Re: Switching timeline over streaming replication)  (Tom Lane <tgl@sss.pgh.pa.us>)
List pgsql-hackers
On Thursday, October 04, 2012 10:58:53 PM Tom Lane wrote:
> Simon Riggs <simon@2ndQuadrant.com> writes:
> > On 4 October 2012 17:23, Heikki Linnakangas <hlinnakangas@vmware.com> 
wrote:
> >> Perhaps we could make walsenders even more like regular backends than
> >> what I was proposing, so that the replication commands are parsed and
> >> executed just like regular utility commands. However, that'd require
> >> some transaction support in walsender, for starters, which seems messy.
> >> It might become sensible in the future if the replication command set
> >> gets even more complicated, but it doesn't seem like a good idea at the
> >> moment.
> > 
> > It's come up a few times now that people want to run a few queries
> > either before or after running a base backup. ...
> > Andres suggested to me the other day we make walsender more like
> > regular backends. At the time I wasn't sure I agreed, but reading this
> > it looks like a sensible way to go.
I only went that way after youve disliked my other suggestions ;)

> That was what I was thinking too, but on reflection there's at least one
> huge problem: how could we run queries without being connected to a
> specific database?  Which walsender isn't.
I had quite some problems with that too. For now I've hacked walsender to 
connect to the database specified in the connection, not sure whether thats the 
way to go. Seems to work so far.

I wanted to start a thread about this anyway, but as it came up here...

The reason "we" (as in logical rep) need a database in the current approach is 
that we need to access the catalog (in a timetraveling fashion) to know how to 
decode the data in the wal... The patch I sent two weeks ago does the decoding 
from inside a normal backend but that was just because I couldn't make 
walsender work inside a database in time...

Greetings,

Andres
-- 
Andres Freund        http://www.2ndQuadrant.com/
PostgreSQL Development, 24x7 Support, Training & Services



pgsql-hackers by date:

Previous
From: Tom Lane
Date:
Subject: Re: Sharing more infrastructure between walsenders and regular backends (was Re: Switching timeline over streaming replication)
Next
From: Andres Freund
Date:
Subject: Re: Support for REINDEX CONCURRENTLY