Skip to content

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

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.

Activity

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Metadata

Metadata

Assignees

Labels

questionFurther information is requested

Type

No type

Projects

No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions