A PostgreSQL extension providing logical multi-master replication for high availability and write scalability.
Spock is a PostgreSQL extension that provides logical multi-master replication, enabling multiple PostgreSQL database nodes to accept writes and synchronize changes bidirectionally. It solves the problem of building highly available, active-active database clusters where each node can serve read and write traffic, improving fault tolerance and write scalability.
Database administrators, DevOps engineers, and developers building distributed, highly available PostgreSQL deployments, especially those needing multi-region or active-active setups.
Developers choose Spock because it offers a native, extension-based approach to multi-master replication for PostgreSQL, with SQL-driven configuration, conflict resolution, and DDL replication support, avoiding reliance on external middleware or proprietary solutions.
Logical multi-master PostgreSQL replication
Enables multiple writable PostgreSQL nodes with bidirectional synchronization, supporting high availability and write scalability, as highlighted in the multi-master replication feature.
Propagates schema changes like CREATE/ALTER TABLE across the cluster when enabled via GUC settings, simplifying schema management, as stated in the configuration steps.
Allows creation and management of nodes and subscriptions using SQL functions such as `spock.node_create`, making it intuitive for PostgreSQL users, detailed in the basic usage examples.
Includes mechanisms to detect and handle data conflicts using commit timestamps, essential for multi-master setups, mentioned in the conflict resolution feature and configuration requirements.
Requires patching PostgreSQL source with version-specific patches applied in numerical order, making installation more involved than standard extensions, as described in the building steps.
Mandates identical table names, schemas, columns, and primary keys across all nodes, which can be restrictive for diverse or evolving databases, as noted in the prerequisites.
Upgrades cannot be rolled back due to catalog changes, necessitating backups and adding operational risk, highlighted in the upgrading section.
PostgreSQL cloud native High Availability and more.
Automated database platform for PostgreSQL® - Your own DBaaS.
A lightweight replication manager for PostgreSQL (Postgres)
Postgres extension and service for automated failover and high-availability
Open-Awesome is built by the community, for the community. Submit a project, suggest an awesome list, or help improve the catalog on GitHub.