我有一个示例cordapp,我想使用Postgresql为我的两个节点(党A和党B)。我已经创建了两个sql文件来创建用户和模式。下面是PartyA的sql文件。
**
**CREATE USER "party_a" WITH LOGIN PASSWORD 'my_password';
CREATE SCHEMA "party_a_schema";
GRANT USAGE, CREATE ON SCHEMA "party_a_schema" TO "party_a";
GRANT SELECT, INSERT, UPDATE, DELETE, REFERENCES ON ALL tables IN SCHEMA "party_a_schema" TO "party_a";
ALTER DEFAULT privileges IN SCHEMA "party_a_schema" GRANT SELECT, INSERT, UPDATE, DELETE, REFERENCES ON tables TO "party_a";
GRANT USAGE, SELECT ON ALL sequences IN SCHEMA "party_a_schema" TO "party_a";
ALTER DEFAULT privileges IN SCHEMA "party_a_schema" GRANT USAGE, SELECT ON sequences TO "party_a";
ALTER ROLE "party_a" SET search_path = "party_a_schema";**
**
以下是数据源的配置
dataSourceProperties {
dataSource {
password="admin"
url="jdbc:postgresql://localhost:5432/postgres"
user="party_b"
}
dataSourceClassName="org.postgresql.ds.PGSimpleDataSource"
}
database {
transactionIsolationLevel=READ_COMMITTED
schema="party_b_schema"
runMigration=true
}
这两个模式在Postgre数据库中都有。我在运行节点后出现了错误,经过进一步研究,我发现我必须使用 初始化Schema 而不是 运行迁移 但我在哪里可以指定我的自定义模式?
jdbc:postgresql://localhost:5432/postgres?currentSchema=party_b_schema
corda.jar
不再包含 PostgreSQL 数据库的 JDBC 驱动程序,你必须从互联网上下载它,并将其放置在 drivers
你的节点的文件夹。