Skip to content

Question regarding pgactive.skip_ddl_replication usage in an Active-Passive Application scenario #308

@melekdurdu

Description

@melekdurdu

Hi,
I am using pgactive with PostgreSQL 17 across two different data centers.
My Architecture:
• Database: Active-Active setup (connected via pgactive).
• Application: Active-Passive (The application runs in only one data center at a time).
• Goal: I am using pgactive primarily to avoid complex failover orchestration. Since the databases are always in sync, I don't need to promote a standby; I just redirect the application traffic.
Current Configuration:
I have set pgactive.skip_ddl_replication = off. Since my application writes to only one node at a time, I rely on this setting to automatically propagate DDL changes to the other node without manual intervention.
I have a few questions regarding this approach:

  1. Risks in my scenario: Given that my application only writes to a single DC (no concurrent DDLs from multiple nodes), is there any specific risk or downside to keeping pgactive.skip_ddl_replication = off permanently?
  2. Best Practice: I understand the default recommendation is usually on. If keeping it off is risky, would it be a valid strategy to toggle it to off only during the application deployment pipeline and switch it back to on afterwards?
  3. Queue Visibility: I noticed that when pgactive.skip_ddl_replication is off, I can see the DDL statements in the pgactive.pgactive_queued_commands table. Does this parameter control the capture of the DDLs? In other words, if I set it to on (to skip replication), will the DDLs still appear in the queue table (perhaps with a different status), or will they be ignored completely?
    Thanks for your advice.

Metadata

Metadata

Assignees

Labels

questionFurther information is requested

Type

No type
No fields configured for issues without a type.

Projects

No projects

Milestone

No milestone

Relationships

None yet

Development

No branches or pull requests

Issue actions