Postgresql – wal_level both hot_standby and logical

configurationpostgresqlpostgresql-9.6replication

I have a PostgreSQL setup with one master and three slaves. It's configured as streaming replication.

Now, I want to replicate only a few tables from the master server to an analytic server using pglogical. For this, we need to enable the logical wal_level. So how can I enable it without breaking the existing replication?

Best Answer

This is what the documentation says about the topic:

wal_level determines how much information is written to the WAL. The default value is replica, which writes enough data to support WAL archiving and replication, including running read-only queries on a standby server. minimal removes all logging except the information required to recover from a crash or immediate shutdown. Finally, logical adds information necessary to support logical decoding. Each level includes the information logged at all lower levels. This parameter can only be set at server start.

From the text it's not overly clear, but logical is the highest level of all, meaning it includes everything the replica level does. That means you can safely set wal_level to logical, it won't break your existing replication.