On Wed, Mar 5, 2014 at 1:57 PM, Josh Berkus <josh@agliodbs.com> wrote:
> On 03/05/2014 10:49 AM, Robert Haas wrote:
>> This patch still treats "allow a walsender to connect to a database"
>> as a separate feature from "allow logical replication". I'm not
>> convinced that's a good idea. What you're proposing to do is allow
>> replication=database in addition to replication=true and
>> replication=false. But how about instead allowing
>> replication=physical and replication=logical? "physical" can just be
>> a synonym for "true" and the database name can be ignored as it is
>> today. "logical" can pay attention the database name. I'm not
>> totally wedded to that exact design, but basically, I'm not
>> comfortable with allowing a physical WAL sender to connect to a
>> database in advance of a concrete need. We might want to leave some
>> room to go there later if we think it's a likely direction, but
>> allowing people to do it in advance of any functional advantage just
>> seems like a recipe for bugs. Practically nobody will run that way so
>> breakage won't be timely detected. (And no, I don't know exactly what
>> will break.)
>
> Personally, I'd prefer to just have the permission here governed by the
> existing replication permission; why make things complicated for users?
> But maybe Andres has some other requirement he's trying to fullfill?
This isn't about permissions; it's about the fact that physical
replication is cluster-wide, but logical replication is per-database.
--
Robert Haas
EnterpriseDB: http://www.enterprisedb.com
The Enterprise PostgreSQL Company