The documentation you are viewing is for Dapr v1.7 which is an older version of Dapr. For up-to-date documentation, see the latest version.

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 配置元素。

apiVersion: dapr.io/v1alpha1
kind: Component
metadata:
  name: <NAME>
  namespace: <NAMESPACE>
spec:
  type: state.postgresql
  version: v1
  metadata:
  - name: connectionString
    value: "<CONNECTION STRING>"

元数据字段规范

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

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

  - name: actorStateStore
    value: "true"

创建 PostgreSQL


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

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

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

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

    create database dapr_test
    

相关链接