使用PostgreSQL替代H2作为Corda节点的数据库

3

我想使用PostgreSQL作为我的节点数据库,而不是H2。Corda节点可以使用PostgreSQL吗?我该如何配置我的节点使用PostgreSQL数据库?

3个回答

4

Corda 2和Corda 3都允许使用PostgreSQL 9.6,并使用PostgreSQL JDBC Driver 42.1.4。请注意,这是一个实验性的社区贡献,目前尚未经过测试。

以下是PostgreSQL的节点配置示例块:

dataSourceProperties = {
    dataSourceClassName = "org.postgresql.ds.PGSimpleDataSource"
    dataSource.url = "jdbc:postgresql://[HOST]:[PORT]/postgres"
    dataSource.user = [USER]
    dataSource.password = [PASSWORD]
}

database = {
    transactionIsolationLevel = READ_COMMITTED
    schema = [SCHEMA]
}

您需要将此块添加到节点文件夹根目录下的node.conf文件中。
请注意:
  • database.schema属性是可选的。它表示数据库的命名空间。
  • database.schema的值不用双引号括起来,Postgres总是将其视为小写值(例如,AliceCorp变成了alicecorp)。

1
请指定您正在使用的版本,据我了解,如果您从主分支构建 Corda v3.0,则可以这样做。实际上,您可以指定要在 Corda 中加载的 Jars 和自定义 jdbc 连接字符串,请参阅有关节点配置的更新文档: https://docs.corda.net/head/corda-configuration-file.html

1

您可以使用extraConfig=[...]块将Postgresql DB属性添加到build.gradle脚本中的节点配置中,如下所示。

node {

    ...

    extraConfig = [
        dataSourceProperties: [
                dataSourceClassName : "org.postgresql.ds.PGSimpleDataSource",
                'dataSource.url' : "jdbc:postgresql://localhost:5432/nodedb",
                'dataSource.user' : "postgres",
                'dataSource.password' : "pa$$w0rd"
        ],
        database: [
                transactionIsolationLevel : "READ_COMMITTED"
        ]
    ]
}

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接