This shows you the differences between two versions of the page.
Both sides previous revision Previous revision Next revision | Previous revision | ||
сервис_postgresql [2025/05/12 14:48] val [pg_dump] |
сервис_postgresql [2025/10/06 06:34] (current) val [Kubernetes] |
||
---|---|---|---|
Line 55: | Line 55: | ||
* [[https://habr.com/ru/companies/oleg-bunin/articles/766898/|Операторы в Kubernetes]] и [[https://habr.com/ru/companies/flant/articles/684202/|Обзор операторов PostgreSQL для Kubernetes. Часть 3: CloudNativePG]] | * [[https://habr.com/ru/companies/oleg-bunin/articles/766898/|Операторы в Kubernetes]] и [[https://habr.com/ru/companies/flant/articles/684202/|Обзор операторов PostgreSQL для Kubernetes. Часть 3: CloudNativePG]] | ||
+ | |||
+ | * Dynamic Volume Provisioning [[Система Kubernetes#rancher local-path-provisioner]] | ||
<code> | <code> | ||
Line 90: | Line 92: | ||
storage: | storage: | ||
size: 10Gi | size: 10Gi | ||
+ | # storageClass: local-path | ||
</code><code> | </code><code> | ||
kube1:~/my-pgcluster# kubectl create ns my-pgcluster-ns | kube1:~/my-pgcluster# kubectl create ns my-pgcluster-ns | ||
Line 144: | Line 147: | ||
keycloak=# \d user_entity | keycloak=# \d user_entity | ||
+ | |||
+ | keycloak=# SELECT id, username FROM user_entity; | ||
keycloak=# SELECT * FROM user_entity WHERE username='admin'; | keycloak=# SELECT * FROM user_entity WHERE username='admin'; | ||
Line 217: | Line 222: | ||
===== Потоковая репликация ===== | ===== Потоковая репликация ===== | ||
- | * [[https://prudnitskiy.pro/ru/post/2018-01-05-pgsql-replica/|Потоковая репликация в PostgreSQL – короткое введение]] | + | * [[https://selectel.ru/blog/tutorials/how-to-set-up-replication-in-postgresql/|Как настроить репликацию в PostgreSQL]] |
===== Резервное копирование и восстановление ===== | ===== Резервное копирование и восстановление ===== | ||
Line 255: | Line 260: | ||
kube1:~# kubectl -n my-postgres-ns exec -ti pod/my-postgres-postgresql-0 -- env PGPASSWORD="strongpassword" psql -U postgres -c "CREATE USER keycloak WITH PASSWORD 'strongpassword';" | kube1:~# kubectl -n my-postgres-ns exec -ti pod/my-postgres-postgresql-0 -- env PGPASSWORD="strongpassword" psql -U postgres -c "CREATE USER keycloak WITH PASSWORD 'strongpassword';" | ||
- | kube1:~# cat ~/keycloak.dump | kubectl -n my-postgres-ns exec -i pod/my-postgres-postgresql-0 -- env PGPASSWORD="strongpassword" pg_restore -C -d postgres -U postgres | + | kube1:~# ssh gate.corp13.un cat /tmp/keycloak.dump | kubectl -n my-postgres-ns exec -i pod/my-postgres-postgresql-0 -- env PGPASSWORD="strongpassword" pg_restore -C -d postgres -U postgres |
</code> | </code> | ||
Line 335: | Line 340: | ||
kube1:~/my-pgcluster# kubectl -n my-pgcluster-ns apply -f my-scheduled-backup.yaml | kube1:~/my-pgcluster# kubectl -n my-pgcluster-ns apply -f my-scheduled-backup.yaml | ||
- | kube1# kubectl -n my-pgcluster-ns describe backup my-scheduled-backup | + | kube1# kubectl -n my-pgcluster-ns describe backups.postgresql.cnpg.io my-scheduled-backup |
- | kube1# kubectl -n my-pgcluster-ns get backup | + | kube1# kubectl -n my-pgcluster-ns get backups.postgresql.cnpg.io |
</code> | </code> | ||
Line 345: | Line 350: | ||
<code> | <code> | ||
- | kube1:~/my-pgcluster# kubectl -n my-pgcluster-ns create secret generic minio-secret \ | + | kube1:~# kubectl create ns my-pgcluster-ns |
+ | |||
+ | kube1:~# kubectl -n my-pgcluster-ns create secret generic minio-secret \ | ||
--from-literal=ACCESS_KEY_ID=root \ | --from-literal=ACCESS_KEY_ID=root \ | ||
--from-literal=ACCESS_SECRET_KEY=strongpassword | --from-literal=ACCESS_SECRET_KEY=strongpassword |