As per my understabding, current postgres server supports only three
values for wal_level i.e. 'minimal' , 'replica' or 'logical'. But
following error message brought to notice that there are various code
spots that try to look for wal_level >= WAL_LEVEL_LOGICAL:
select * from pg_create_logical_replication_slot('regression_slot',
'test_decoding'); ERROR: logical decoding requires wal_level >= logical
The code locations that look for/expect wal_level > WAL_LEVEL_LOGICAL are:
heapam.c 7690 * This is only used in wal_level >=
WAL_LEVEL_LOGICAL, and only for cataloglogical.c 83 errmsg("logical decoding requires wal_level >=
logical")));standby.c LogStandbySnapshot 950 if (wal_level
>= WAL_LEVEL_LOGICAL)xlog.h XLogLogicalInfoActive 162 #define
XLogLogicalInfoActive() (wal_level >= WAL_LEVEL_LOGICAL)
Since postgres does not allow wal_level > WAL_LEVEL_LOGICAL, the above
code locations should be modified like:
s/>=/=
Thoughts/Suggestions?
Regards,
Neha