pig patroni
The pig patroni command (alias pig pt) manages Patroni service and PostgreSQL HA clusters. It wraps common patronictl and systemctl operations for simplified cluster management.
Overview
Cluster Operations (patronictl wrapper):
| Command | Alias | Description | Implementation |
|---|---|---|---|
pt list | ls, l | List cluster members | patronictl list -e -t |
pt restart | reboot, rt | Restart PostgreSQL instance | patronictl restart |
pt reload | rl, hup | Reload PostgreSQL config | patronictl reload |
pt reinit | ri | Reinitialize member | patronictl reinit |
pt switchover | sw | Planned switchover | patronictl switchover |
pt failover | fo | Manual failover | patronictl failover |
pt pause | p | Pause auto-failover | patronictl pause |
pt resume | r | Resume auto-failover | patronictl resume |
pt config | cfg, c | Show or modify cluster config | patronictl show-config / edit-config |
Service Management (systemctl wrapper):
| Command | Alias | Description | Implementation |
|---|---|---|---|
pt start | boot, up | Start Patroni service | systemctl start patroni |
pt stop | halt, dn, down | Stop Patroni service | systemctl stop patroni |
pt status | st, stat | Show service status | systemctl status patroni |
pt log | l, lg | View Patroni logs | journalctl -u patroni |
Service Subcommand (pt svc):
| Command | Alias | Description |
|---|---|---|
pt svc start | boot, up | Start Patroni service |
pt svc stop | halt, dn, down | Stop Patroni service |
pt svc restart | reboot, rt | Restart Patroni service |
pt svc reload | rl, hup | Reload Patroni service |
pt svc status | st, stat | Show service status |
Quick Start
# Check cluster member status
pig pt list # List default cluster members
pig pt list pg-meta # List specific cluster
pig pt list -W # Continuous watch mode
pig pt list -w 5 # Refresh every 5 seconds
# View and modify cluster config
pig pt config # Show current cluster config
pig pt config ttl=60 # Modify single config item (immediate effect)
pig pt config ttl=60 loop_wait=15 # Modify multiple config items
# Cluster operations
pig pt restart # Restart all members' PostgreSQL
pig pt restart pg-test-1 # Restart specific member
pig pt switchover # Planned switchover
pig pt pause # Pause auto-failover
pig pt resume # Resume auto-failover
# Manage Patroni service
pig pt status # Check service status
pig pt start # Start service
pig pt stop # Stop service
pig pt log -f # Real-time log viewing
Global Options
These options apply to all pig pt subcommands:
| Option | Short | Description |
|---|---|---|
--dbsu | -U | Database superuser (default: $PIG_DBSU or postgres) |
Cluster Commands
pt list
List Patroni cluster member status. Wraps patronictl list with -e (extended output) and -t (show timestamp) flags by default.
pig pt list # List default cluster members
pig pt list pg-meta # List specific cluster
pig pt list -W # Continuous watch mode
pig pt list -w 5 # Refresh every 5 seconds
pig pt list pg-test -W -w 3 # Watch pg-test cluster, 3s refresh
Options:
| Option | Short | Description |
|---|---|---|
--watch | -W | Enable continuous watch mode |
--interval | -w | Watch refresh interval (seconds) |
pt restart
Restart PostgreSQL instance via Patroni. This triggers a rolling restart of PostgreSQL, not the Patroni daemon itself.
pig pt restart # Restart all members (interactive)
pig pt restart pg-test-1 # Restart specific member
pig pt restart -f # Skip confirmation
pig pt restart --role=replica # Restart replicas only
pig pt restart --pending # Restart pending members
Options:
| Option | Short | Description |
|---|---|---|
--force | -f | Skip confirmation |
--role | Filter by role (primary/replica) | |
--pending | Restart only pending members |
pt reload
Reload PostgreSQL configuration via Patroni. Triggers config reload on all members.
pig pt reload
pt reinit
Reinitialize cluster member. This re-syncs data from the primary.
pig pt reinit pg-test-1 # Reinit specific member
pig pt reinit pg-test-1 -f # Skip confirmation
pig pt reinit pg-test-1 --wait # Wait for completion
Options:
| Option | Short | Description |
|---|---|---|
--force | -f | Skip confirmation |
--wait | -w | Wait for reinit completion |
Warning: This operation deletes all data on the target member and re-syncs from primary.
pt switchover
Perform planned primary-replica switchover.
pig pt switchover # Interactive switchover
pig pt switchover -f # Skip confirmation
pig pt switchover --leader pg-1 # Specify current primary
pig pt switchover --candidate pg-2 # Specify new primary
Options:
| Option | Short | Description |
|---|---|---|
--force | -f | Skip confirmation |
--leader | Specify current primary | |
--candidate | Specify candidate new primary |
pt failover
Perform manual failover. Used when primary is unavailable.
pig pt failover # Interactive failover
pig pt failover -f # Skip confirmation
pig pt failover --candidate pg-2 # Specify new primary
Options:
| Option | Short | Description |
|---|---|---|
--force | -f | Skip confirmation |
--candidate | Specify candidate new primary |
pt pause
Pause Patroni’s automatic failover.
pig pt pause # Pause auto-failover
pig pt pause --wait # Wait for confirmation
Options:
| Option | Short | Description |
|---|---|---|
--wait | -w | Wait for operation completion |
Use case: Pause auto-failover during maintenance operations (e.g., major version upgrade, storage migration) to prevent accidental triggers.
pt resume
Resume Patroni’s automatic failover.
pig pt resume # Resume auto-failover
pig pt resume --wait # Wait for confirmation
Options:
| Option | Short | Description |
|---|---|---|
--wait | -w | Wait for operation completion |
pt config
Show or modify cluster configuration. Without parameters shows current config, with key=value parameters modifies config.
pig pt config # Show current cluster config
pig pt config show # Show config (explicit)
pig pt config edit # Interactive config edit
pig pt config set ttl=60 # Set TTL to 60 seconds
pig pt config set ttl=60 loop_wait=15 # Modify multiple config items
pig pt config pg max_connections=200 # Modify PostgreSQL parameter
Subcommands:
| Subcommand | Description |
|---|---|
show (default) | Show current config |
edit | Interactive config edit |
set key=value | Directly set config item |
pg key=value | Set PostgreSQL parameter |
Common config items:
| Config | Description | Default |
|---|---|---|
ttl | Leader lock time-to-live (seconds) | 30 |
loop_wait | Main loop sleep time (seconds) | 10 |
retry_timeout | DCS and PostgreSQL operation timeout (seconds) | 10 |
maximum_lag_on_failover | Maximum lag allowed during failover (bytes) | 1048576 |
Note: This command modifies dynamic cluster config stored in DCS (e.g., etcd), not local config file /etc/patroni/patroni.yml.
Service Commands
pt start
Start Patroni service.
pig pt start # Start Patroni service
pig pt up # Alias
pig pt boot # Alias
Equivalent to sudo systemctl start patroni.
pt stop
Stop Patroni service.
pig pt stop # Stop Patroni service
pig pt down # Alias
pig pt halt # Alias
Equivalent to sudo systemctl stop patroni.
Note: Stopping Patroni service will also stop the PostgreSQL instance on this node (depending on Patroni configuration).
pt status
Show Patroni service comprehensive status, including:
- systemd service status
- Patroni process info
- Cluster member status
pig pt status
pt log
View Patroni service logs.
pig pt log # Show last 50 log lines
pig pt log -f # Real-time log following
pig pt log -n 100 # Show last 100 log lines
pig pt log -f -n 200 # Show last 200 lines and follow
Options:
| Option | Short | Default | Description |
|---|---|---|---|
--follow | -f | false | Real-time log following |
--lines | -n | 50 | Number of log lines to show |
Equivalent to journalctl -u patroni [-f] [-n N].
pt svc Subcommand
pt svc provides the same functionality as top-level service commands, for explicitly operating on the Patroni daemon:
pig pt svc start # Start Patroni service
pig pt svc stop # Stop Patroni service
pig pt svc restart # Restart Patroni service
pig pt svc reload # Reload Patroni service
pig pt svc status # Show service status
Alias Reference:
| Command | Alias |
|---|---|
pt svc start | boot, up |
pt svc stop | halt, dn, down |
pt svc restart | reboot, rt |
pt svc reload | rl, hup |
pt svc status | st, stat |
Design Notes
Relationship with patronictl:
pig pt wraps common patronictl operations:
- Cluster queries:
list,config show - Cluster management:
restart,reload,reinit,switchover,failover,pause,resume - Config modification:
config set,config edit - Service commands (start/stop/restart/reload/status) call
systemctl logcommand callsjournalctl
Default Config Paths:
| Config | Default |
|---|---|
| Patroni config file | /etc/patroni/patroni.yml |
| Service name | patroni |
Permission Handling:
- If current user is DBSU: execute commands directly
- If current user is root: use
su - postgres -c "..."to execute - Other users: use
sudo -inu postgres -- ...to execute
Platform Support:
This command is designed for Linux systems, depends on systemctl and journalctl.
Feedback
Was this page helpful?
Thanks for the feedback! Please let us know how we can improve.
Sorry to hear that. Please let us know how we can improve.