PostgreSQL

PostgreSQL 状态存储组件的详细信息

创建 Dapr 组件

创建一个名为 postgres.yaml的文件,粘贴以下文件并用您的连接字符串替换 <CONNECTION STRING> 值。 连接字符串是一个标准 PostgreSQL 连接字符串。 例如, "host=localhost user=postgres password=example port=5432 connect_timeout=10 database=dapr_test"。 查看 PostgreSQL 的数据库连接文档 ,特别是关键字/值连接字符串,了解如何定义连接字符串的信息。

如果您也想要配置 PostgreSQL 来存储 Actor,请在下面添加 actorStateStore 配置元素。

  1. apiVersion: dapr.io/v1alpha1
  2. kind: Component
  3. metadata:
  4. name: <NAME>
  5. namespace: <NAMESPACE>
  6. spec:
  7. type: state.postgresql
  8. version: v1
  9. metadata:
  10. - name: connectionString
  11. value: "<CONNECTION STRING>"

Warning

以上示例将密钥明文存储, It is recommended to use a secret store for the secrets as described here.

元数据字段规范

字段必填详情Example
connectionStringYPostgreSQL 的连接字符串“User ID=root;Password=myPassword;Host=localhost;Port=5432”
actorStateStoreN是否将此状态存储给 Actor 使用。 默认值为 “false”“true”, “false”

如果您想要使用 PostgreSQL 作为 Actor 存储,请在 yaml 上附上以下内容。

  1. - name: actorStateStore
  2. value: "true"

创建 PostgreSQL

  1. 运行 PostgreSQL 实例。 您可以在Docker CE 中运行一个本地的 PostgreSQL 实例,并使用以下命令:

    此示例没有描述生产配置,因为它用纯文本设置了密码,用户名保留为“postgres”默认值。

    1. docker run -p 5432:5432 -e POSTGRES_PASSWORD=example postgres
  2. 为状态数据创建数据库。 可以使用默认的 “postgres” 数据库,或者创建一个新的数据库来存储状态数据。

    要在 PostgreSQL 中创建一个新的数据库,请运行以下SQL 命令:

    1. create database dapr_test

相关链接