Logical replication no longer uses the "replication" keyword. It just
matches database entries in the normal way. The "replication" keyword
now only applies to physical replication.
Reviewed-by: Petr Jelinek
members of the role, directly or indirectly, and not just by
virtue of being a superuser.
The value replication> specifies that the record
- matches if a replication connection is requested (note that
+ matches if a physical replication connection is requested (note that
replication connections do not specify any particular database).
Otherwise, this is the name of
a specific
PostgreSQL database.
Security
- Logical replication connections occur in the same way as with physical streaming
- replication. It requires access to be explicitly given using
- pg_hba.conf. The role used for the replication
- connection must have the REPLICATION attribute. This
- gives a role access to both logical and physical replication.
+ The role used for the replication connection must have
+ the REPLICATION attribute. Access for the role must be
+ configured in pg_hba.conf.
foreach(cell, tokens)
{
tok = lfirst(cell);
- if (am_walsender)
+ if (am_walsender && !am_db_walsender)
{
- /* walsender connections can only match replication keyword */
+ /* physical replication walsender connections can only match replication keyword */
if (token_is_keyword(tok, "replication"))
return true;
}