我想使用PostgreSQL而不是H2作为我的节点的数据库。可以使用PostgreSQL用于Corda节点吗?如何配置我的节点以使用PostgreSQL数据库?
答案 0 :(得分:2)
使用PostgreSQL JDBC Driver 42.1.4,Corda 2和Corda 3都允许使用PostgreSQL 9.6。请注意,这是一个实验性社区贡献,目前尚未经过测试。
以下是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 :(得分:1)
请指定您正在处理的版本,据我了解,如果您从master构建Corda v3.0,则可以执行此操作。 您实际上可以指定要在Corda中加载的Jars和您的自定义jdbc连接字符串,请参阅有关节点配置的更新文档: fseek()
答案 2 :(得分:0)
您可以使用extraConfig = [...]块将build.gradle脚本中的Postgresql DB属性添加到您的节点配置中,如下所示。
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"
]
]
}