一般在k8s的生产环境中的pod运行Postgre数据库都会同步运行Patroni进程。

1.首先进入数据库运行所在的pod 

kubectl exec -it -n [命名空间]  [pod名]

2.使用Patroni修改数据库配置。

patronictl edit-config [pod名]

3.此时就已经进入到数据库配置文件中来了。

4.接下来就是vim操作修改你要改的配置,然后wq保存配置

[root@postgres-database-cluster-1-0 data]# patronictl edit-config postgres-database-cluster-1
---
+++
@@ -18,7 +18,7 @@
     log_min_duration_statement: 500
     log_statement: ddl
     log_temp_files: 0
-    max_connections: 200
+    max_connections: 300
     max_replication_slots: 10
     max_wal_senders: 30
     port: 5432
 
Apply these changes? [y/N]: y
Configuration changed
~

5.退出后会看到提示你修改的配置并询问你是否保存 y 就可以。
此时还没有修改成功!。

6.在pod内重启一下postgres服务,重启完成后配置就会生效,此时就可以登入数据库检查配置是否生效了。

如果不知道如何重启可以 ps -ef | grep postgres 查到对应id 然后kill -9 这个进程号,等待重新拉起就行。(当然要containerd接管才行)

注意:kubectl delete pod 重新拉起的pod并不能更新配置。

Logo

K8S/Kubernetes社区为您提供最前沿的新闻资讯和知识内容

更多推荐