0

我已经尝试将我的 Chainlink 节点连接到我的 postgresql 数据库,但没有成功。我已经在互联网上搜寻了无济于事的答案...

这是我收到的错误消息:

[ERROR] failed to initialize database, got error failed to connect to `host=/tmp user=root database=`: dial error (dial unix /tmp/.s.PGSQL.5432: connect: no such file or directory)

这是我的 .env 文件:

ROOT=/chainlink
LOG_LEVEL=debug
ETH_CHAIN_ID=42
MIN_OUTGOING_CONFIRMATIONS=2
LINK_CONTRACT_ADDRESS=0xa36085F69e2889c224210F603D836748e7dC0088
CHAINLINK_TLS_PORT=0
SECURE_COOKIES=false
GAS_UPDATER_ENABLED=true
ALLOW_ORIGINS=*
ETH_URL=wss://kovan.infura.io/ws/v3/id...
DATABASE_URL=https://chainlink-db-url://postgres:Password@chainlink-kovan:5432

我已经尝试了连接字符串的所有配置。我也可以通过 pgAdmin 连接到 db 没问题,并且 db 可以公开访问。

postgresql 数据库位于 AWS 上。

4

1 回答 1

1

请将 DATABASE_URL 的语法更改为:

DATABASE_URL=postgresql://"username":"password"@"public-ip-pg-server":5432/"database-name"

只是改变:

"username" :您需要配置一个新用户,因为默认/管理员用户 postgres 将不适合它。
“password”:用户密码
“public-ip-pg-server”:您的 postgresql-server 的公共 IP 地址
“database-name”:您的数据库名称

PS:删除语法中的所有 " (;

这是官方文档的链接:https ://docs.chain.link/docs/connecting-to-a-remote-database/

于 2021-05-07T05:27:25.430 回答