pgEdge kernel template for distributed multi-master PostgreSQL in edge scenarios
Development sources use conf/fork/pgedge.yml; v4.5.0 uses conf/pgedge.yml, selected with -c pgedge.
The pgedge configuration template uses the pgEdge kernel instead of native PostgreSQL. The kernel provides distributed, multi-master capabilities for edge deployments.
---#==============================================================## File : pgedge.yml# Desc : 1-node pgEdge (Distributed PG) template# Ctime : 2026-02-26# Mtime : 2026-07-08# Docs : https://pigsty.io/docs/conf/pgedge# License : Apache-2.0 @ https://pigsty.io/docs/about/license/# Copyright : 2018-2026 Ruohang Feng / Vonng (rh@vonng.com)#==============================================================## This is the config template for pgEdge Kernel,# Which is a PostgreSQL 15/16/17/18 compatible fork, default to 18.# tutorial: https://pigsty.io/docs/pgsql/kernel/pgedge## Usage:# curl https://repo.pigsty.io/get | bash# ./configure -c pgedge [-v 15/16/17/18]# ./deploy.ymlall:children:infra:{hosts:{10.10.10.10:{infra_seq:1 }} ,vars:{repo_enabled:false}}etcd:{hosts:{10.10.10.10:{etcd_seq:1 }} ,vars:{etcd_cluster:etcd }}#minio: { hosts: { 10.10.10.10: { minio_seq: 1 }} ,vars: { minio_cluster: minio }}#----------------------------------------------## pgEdge Database Cluster#----------------------------------------------#pg-meta:hosts:10.10.10.10:{pg_seq:1, pg_role:primary }vars:pg_cluster:pg-metapg_users:- {name:dbuser_meta ,password:DBUser.Meta ,pgbouncer:true ,roles:[dbrole_admin] ,comment:pigsty admin user }- {name:dbuser_view ,password:DBUser.Viewer ,pgbouncer:true ,roles:[dbrole_readonly] ,comment:read-only viewer for meta database }pg_databases:- {name:meta ,baseline:cmdb.sql ,comment:pigsty meta database ,schemas:[pigsty] ,extensions:[spock, snowflake, lolor]}pg_hba_rules:# https://pigsty.io/docs/pgsql/config/hba- {user:all ,db:all ,addr:intra ,auth:pwd ,title:'everyone intranet access with password' ,order:800}pg_crontab:# https://pigsty.io/docs/pgsql/admin/crontab- '00 01 * * * /pg/bin/pg-backup full'# pgEdge Ad Hoc Settingspg_mode:pgedge # pgEdge compatible modepg_packages:[pgedge, pgsql-common ] # install pgEdge kernel package + common utilspg_libs:'spock, lolor, pg_stat_statements, auto_explain'# preload required libs for pgEdge logical replicationvars:#----------------------------------------------## INFRA : https://pigsty.io/docs/infra/param#----------------------------------------------#version:v4.5.0 # pigsty version stringadmin_ip:10.10.10.10# admin node ip addressregion:default # upstream mirror region: default,china,europeinfra_portal:# infra services exposed via portalhome :{domain:i.pigsty } # default domain name#----------------------------------------------## NODE : https://pigsty.io/docs/node/param#----------------------------------------------#nodename_overwrite:false# do not overwrite node hostname on single node modenode_repo_modules:node,infra,pgsql# add these repos directly to the singleton nodenode_tune:oltp # node tuning specs: oltp,olap,tiny,crit#----------------------------------------------## PGSQL : https://pigsty.io/docs/pgsql/param#----------------------------------------------#pg_version:18# pgEdge kernel is compatible with postgres 18pg_conf:oltp.yml # pgsql tuning specs: {oltp,olap,tiny,crit}.yml#----------------------------------------------## PASSWORD : https://pigsty.io/docs/setup/security/#----------------------------------------------#grafana_admin_password:pigstygrafana_view_password:DBUser.Viewerpg_admin_password:DBUser.DBApg_monitor_password:DBUser.Monitorpg_replication_password:DBUser.Replicatorpatroni_password:Patroni.APIhaproxy_admin_password:pigstyminio_secret_key:S3User.MinIOetcd_root_password:Etcd.Root...
Notes
The pgedge template enables pg_mode: pgedge in pg-meta. It pre-installs pgEdge core extensions for logical replication and edge distribution.
Key features:
Uses the pgedge kernel package (PG15/16/17/18 compatible, default PG18)
The pgedge-$v kernel package includes spock, snowflake, and lolor. The template creates these extensions in the meta database by default.
Preloads spock and lolor for multi-master setup readiness
Keeps Pigsty standard backup, monitoring, and operations workflow
Typical use cases:
Multi-region edge deployment with nearby writes
Multi-master logical replication with conflict handling
Single-node validation before distributed rollout
Caveats:
Use the current template to validate the kernel on one node. For production multi-master deployment, explicitly plan the topology and replication strategy.
Default is pg_version: 18; keep consistent with target cluster versions
Evaluate latency and conflict policy before cross-region replication