cloudnative-pg
pgBackRest
Our great sponsors
cloudnative-pg | pgBackRest | |
---|---|---|
10 | 13 | |
3,342 | 2,194 | |
12.9% | 4.5% | |
9.8 | 9.2 | |
2 days ago | 3 days ago | |
Go | C | |
Apache License 2.0 | GNU General Public License v3.0 or later |
Stars - the number of stars that a project has on GitHub. Growth - month over month growth in stars.
Activity is a relative number indicating how actively a project is being developed. Recent commits have higher weight than older ones.
For example, an activity of 9.0 indicates that a project is amongst the top 10% of the most actively developed projects that we are tracking.
cloudnative-pg
-
Homelab: Running Postgres on Kubernetes
My holiday project was doing another pass at my Homelab Kubernetes cluster, part of which involved switching to a proper operator to manage Postgres. Coincidentally, I setup cloudnative-pg (https://github.com/cloudnative-pg/cloudnative-pg) yesterday.
-
PostgreSQL 16 Bi-Directional Logical Replication
https://github.com/cloudnative-pg/cloudnative-pg/issues/13
/? logical replication:
https://www.google.com/search?q=logical+replication
pgadmin docs > Publication Dialog; logical replication: https://www.pgadmin.org/docs/pgadmin4/development/publicatio...
https://github.com/dalibo/pg_activity#faq ; pip install `pg_activity[psychopg]` :
> FAQ: I can't see my queries only TPS is shown
Only the TPS
(How) Do any ~pg_top tools delineate logical replication activity?
pgcenter > PostgreSQL statistics [virtual tables] (and also /proc)
- Deploying Postgres on Kubernetes in production
-
Kubernetes postgres backups
We already had backup and recovery using object storage, but we are working to support VolumeSnapshots taking care to properly shut down the instance first! This awesome PR is laying the foundation for it, it's adding a subcommand to our kubectl plugin to manually perform a backup using VolumeSnapshots and adding support for restoring a Cluster from it, next step will be adding it to the ScheduledBackup/Backup resources too!
-
Anyone using cloudnativePG operator knows if it's possible to save backups to a local dir or NFS?
I'll ask in their slack channel later. I've also opened a discussion regarding this on github if you are interesed. https://github.com/cloudnative-pg/cloudnative-pg/discussions/2030
-
What are you using to run Postgres?
This has a bunch of side-effects that break usual expectations around scheduling. For instance, cluster scale-down (for maintenance etc.) is blocked unless a specific taint has been added to each database pod. In addition, if the underlying node does fail, your cluster will be stuck in fail-over state until you manually delete the underlying pods. I think there are definitely other gotchas around this decision to use a custom controller but I have only tested this on GKE.
-
Can you create a Postgres Deployment with multiple replicas consuming to the same PV?
Another option would be https://github.com/cloudnative-pg/cloudnative-pg I got to see this talk at Kubecon last month that might be of use to you too -> https://www.youtube.com/watch?v=99uSJXkKpeI That talk is run in part by EDB, who are the company behind CloudNativePG, they are talking about their commercial offering, but the principle is the same.
-
How do people read CRDs?
Following another post on this sub, I was checking out the Github project and landed on this 2864 lined CRD https://github.com/cloudnative-pg/cloudnative-pg/blob/main/config/crd/bases/postgresql.cnpg.io_clusters.yaml. How are sane people reading these files?
-
Managing PostgreSQL databases as K8s resources
**NOTE**: I am a maintainer of CloudNativePG.
- Pgo: The Postgres operator from crunchy data
pgBackRest
-
pgBackRest: PostgreSQL S3 backups
This tutorial explains how to backup PostgreSQL database using pgBackRest and S3.
-
Anything can be a message queue if you use it wrongly enough
This isn't theoretical; many companies do PostgreSQL async 1:N physical replication, by using e.g. https://pgbackrest.org/ to have the primary push WAL segment files (a.k.a. "the last n milliseconds of packets" in the write-ahead log) as objects to S3, and then to have all read-replicas fetch from S3 and replay.
> You could do even better if you out-of-band signal the readiness so you do not need to poll while idle.
S3 and its clones have "object lifecycle notifications", where you can be informed by a push-based mechanism whenever a new object is put into the bucket.
But — what do you have to do, to get these notifications?
Subscribe to a message queue that S3 puts them into.
-
Kubernetes postgres backups
I haven't explored the territory in awhile but for bare-metal, you can't go wrong with Percona Distribution, which includes pgBackRest and a minimal web-ui. No one ever got fired for using Percona, etc.
- pgBackRest - Reliable PostgreSQL Backup & Restore
- pgBackRest - have you used it and what was your experience?
-
How to backup database
Check out pgBackRest
-
Use One Big Server
I found this approach pretty cool in that regard: https://github.com/pgbackrest/pgbackrest
- Moving from Oracle to Postgres, what should I know?
-
How do you back up your databases?
Something like PG barman or pg backrest could be good for you on the Postgres side.
-
Cloud SQL is not great
Backups are limited. These days, pgbackrest is the go-to backup solution for PostgreSQL, and having used it I am very impressed so far. It provides full backups, differential, and incremental, as well as archiving of WAL segments for point in time recovery. It allows great flexibility in schedules and destinations for backups, how long to keep backups for, how many full backups. For example, you can have backups made to a local disk, and other backups to an external S3-compatible bucket, each with their own settings and schedules (e.g., scheduled via cron).
What are some alternatives?
postgres-operator - Postgres operator creates and manages PostgreSQL clusters running in Kubernetes
Barman - Barman - Backup and Recovery Manager for PostgreSQL
postgres-operator - Production PostgreSQL for Kubernetes, from high availability Postgres clusters to full-scale database-as-a-service.
wal-g - Archival and Restoration for databases in the Cloud
postgres - 🐘 Run PostgreSQL in Kubernetes
docker-postgres-wale - Postgres docker container with WALE-E installed
kubegres - Kubegres is a Kubernetes operator allowing to deploy one or many clusters of PostgreSql instances and manage databases replication, failover and backup.
wal-e - Continuous Archiving for Postgres
percona-postgresql-operator - Percona Operator for PostgreSQL
pghoard - PostgreSQL® backup and restore service
crd-to-sample-yaml - Generate a sample YAML file from a CRD
postgres - Docker Official Image packaging for Postgres