All work

Select view

Select search mode

 
50 of 659

Reviewing default wal_level parametrization

Description

Based on a customer's question, we found:


From PostgreSQL viewpoint, wal_level default value is replica.

Altought setting it to logical is more flexible and allows customers to set up logical replication without additional changes (absolutely questionable because you might require to review/set max_wal_senders, wal_keep_size / wal_keep_segments, max_replication_slots, etc ), this comes with performance disadvantages for those who do not use logical replication (the majority of cases)


I never benchmarked this área, but in theory, this modification increases the amount of information in the WAL segments. So, more storage needs, more IO needs, more CPU to address the IO, more network usage when using S3 buckets. Additionally, it should come with some additional penalization to the DB performance because every UPDATE/DELETE requires including more information in the WAL segments. 

In logical level, the same information is logged as with replica, plus information needed to extract logical change sets from the WAL. Using a level of logical will increase the WAL volume, particularly if many tables are configured for REPLICA IDENTITY FULL and many UPDATE and DELETE statements are executed.


Best regards,

Environment

None

Details

Assignee

Reporter

Needs QA

Fix versions

Priority

Created 4 hours ago
Updated 3 hours ago

Activity

Flag notifications