问题标签 [crunchy-postgresql-operator]

For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.

0 投票
2 回答
198 浏览

postgresql - pgo:计划备份的计划保存在哪里

使用以下命令对 pgo_create_schedule 使用 Postgres 运算符:

cron 样式的日程安排在哪里结束?我在使用 crontab -l 的服务器上看不到它

0 投票
0 回答
297 浏览

postgresql - 使用 crunchydata postgres 运算符部署自定义映像时出错

我已经根据timescaledb我的安装位置创建了一个自定义映像,wal2json并且我正在尝试使用 crunchydata-postgres-operator 将它部署在我的 kubernetes 集群上。除了访问数据库的凭据之外,我已经设法设置了所有内容。

我正在尝试使用以下命令创建 pgo 集群:

该命令执行成功,但是数据库部署进入a CrashLoopBackOff,因为如下错误:

看到这个我尝试在Dockerfile中设置POSTGRES_PASSWORDand POSTGRES_USER,但这并不能缓解问题?

我知道通常这些环境变量是在 k8sdeployment.yaml或者docker-compose.yml. 但是即使 postgres 操作员有一些默认凭据,它们似乎也没有应用于容器?

Dockerfile:

编辑:

使用标志运行相同的命令后,--debug我收到了以下输出:

0 投票
1 回答
81 浏览

postgresql - 如何为 crunchy data postgres 运算符查看/安装 pg_activity?

我已经为我的应用程序设置了 Rancher (RKE) (kuberbetes)。

和使用 postgres 的应用程序,所以我设置了 Crunchydata postgres 运算符并使用它创建 postgres 集群。

一切都很好,但现在我想查看我的 postgresql 的 pg_activity。

我怎样才能看到整个 postgres 的活动?

0 投票
1 回答
249 浏览

postgresql - 使用 pgbackrest 从 s3 恢复 postgres 集群时出错

我想通过 pgbackrest 使用来自 s3 的备份来测试恢复集群

我有:OpenShift 4.7 PGO 图片标签:centos8-13.2-4.6.2 Postgres 版本 13

如何重现:

Step1:我安装 crunchy operator 并创建集群:

没关系。

第 2 步:我创建备份

那也没关系。

第 3 步:我删除集群(模拟这个集群的丢失)。

备份仍保留在 s3 中。

第 4 步:我正在尝试通过创建备用集群来恢复此集群

我在我的 pod 中收到了很多相同的警告:

如果我删除 /pgdata/standby-test-db_* 它不会更改消息如果我重新启动 pod - /pgdata/standby-test-db_* 将再次创建。

我完全对这个问题感到困惑。

0 投票
0 回答
33 浏览

postgresql - 松脆的 PGO 备份的时区不正确

我已经使用 kubernetes 安装了 pgo。当我运行时pgo show backup,列出的备份是使用 UTC 时区创建的。我认为它使用cluster-backrest-shared-repo-x-ypod 的时区。如何将时区更改为UTC+1

感谢帮助

0 投票
1 回答
107 浏览

database - 你可以在 Kubernetes 中水平扩展一个运行关系数据库的 StatefulSet 吗?

为什么我想要我的数据库的多个副本?

  1. 冗余:我的应用程序代码有 > 1 个副本。为什么?如果一个节点发生故障,另一个节点可以在负载均衡器后面运行时填补它的位置。
  2. 负载:负载均衡器可以将流量分配到应用程序的多个实例。
  3. A/B 测试。我可以让一个节点为应用程序的一个版本提供服务,而另一个节点为不同的应用程序提供服务。
  4. 维护。我可以关闭一个实例进行维护,并在停机时间为 0 的情况下保持另一个实例。

所以,我想如果可能的话,我也想对后备数据库做同样的事情。

我意识到许多 nosql 数据库更好地配置为多个实例,但我对关系数据库感兴趣。

我和这样这样的操作员一起玩过,但发现文档有问题,无法让它们启动并运行,并且发现社区有点缺乏。在生产中依赖这种东西让我很紧张。Mysql 运算符甚至有一个注释,说它不用于生产用途。

我看到原生 k8s statefulsets 具有扩展性,但这些文档根本不特定于 dbs。我认为复杂之处在于 dbs 需要通过卷持久地写入磁盘,并且如果您有多个实例,则必须以某种方式同步和路由数据。

那么,这对我自己来说是不是微不足道的事情?或者,我最好有一个在集群中使用单副本数据库映像的开发环境以节省计费,以及一个使用完全托管数据库的生产环境,像这样负责扩展/HA为了我?然后我会使用 kustomize 来管理 yaml 差异。

编辑

我实际上找到了一个很好的 postgres 运算符。跟踪文档一次,一切正常,它来自postgres docs

0 投票
1 回答
169 浏览

postgresql - 使用 tls 将应用程序连接到 postgresql 集群

按照本教程,我已经成功地安装了一个带有来自 kubernetes 上的 cert-manager 的 tls 证书的松脆数据 postgres 集群。 https://blog.crunchydata.com/blog/using-cert-manager-to-deploy-tls-for-postgres-on-kubernetes

kubectl -n postgres-operator get secrets

这些秘密中的大多数都包含与 tls 相关的内容,例如 hippo-tls 包含“ca.crt”、“tls.crt”、“tls.key”,而 pgo-root-cacert 秘密包含“root.crt”, “root.key”。我不确定使用哪一个来将我的应用程序连接到我的数据库。

这是我的应用程序的部署 yaml

这是我第一次使用 tls,所以我不确定如何连接它。这是我的 Golang postgres 连接文件。

我尝试使用 postgres 运算符命名空间中的不同秘密进行连接,但我通常会遇到关于不使用 tls 的相同错误。我也不确定 tls 配置的 ServerName 应该是什么。

kubectl -n postgres-operator logs admin-app-b7d97764d-lkrqn

0 投票
0 回答
67 浏览

postgresql - Postgres | PgBouncer 无法访问数据库(使用所有者登录)

Postgres 部署信息

  • 版本:13.3
  • 部署:Kubernetes、Helm
  • 提供者:https ://www.crunchydata.com/(pgo_client_version:4.7.0)

目标

  1. 启用连接池支持
  2. 对 Crunchydata 使用记录的池化步骤

执行的步骤(成功)

  • pgo create pgbouncer mycluster添加 PgBouncer
  • 基本连接测试OKpsql -h hostname pgbouncer -U pgbouncer

问题:假设没有 PgBouncerfoo_db_1的情况下拥有foouser数据库,我可以成功连接数据库,但同样通过 PgBouncer 失败。

下面是我的数据库创建和许可的片段(这样只有这个用户才能访问这个数据库)

现在,当我使用同一个用户(所有者)并尝试从 PgBouncer 访问它时,它会失败并显示错误消息

注意:当我使用以下命令(示例)删除基于用户的权限时,PgBouncer 可以正常连接。

是否有任何其他用户需要我授予允许 pgbouncer 访问的权限?

0 投票
0 回答
22 浏览

postgresql - 连接到 Crunchy Operator 的只读副本

在 HA 模式下运行该集群时,如何连接到 Crunchy Operator postgres 集群的只读副本?

我有两个instances配置和两个pgBouncer配置。

k get svc -o wide看起来像这样

如您所见,我无法连接到 -replica svc。

0 投票
2 回答
29 浏览

docker - 安装 PGO 时遇到“ImagePullBackOff”错误

我按照本文档安装了(新)PGO:https : //access.crunchydata.com/documentation/postgres-operator/v5/installation/helm/ 它已部署,但 pod 处于“ImagePullBackOff”状态。并且“https://registry.developers.crunchydata.com/crunchydata/”无法访问(404),表示“此容器版本不再可用”。