所以这非常奇怪。我正在尝试使用 dblink 做一个简单的选择:
SELECT * FROM dblink('dbname=my_db_name, user=my_user, password=password, hostaddr=127.0.0.1', 'SELECT action, object, created_at, id FROM my_table') AS de(ACTION VARCHAR, OBJECT VARCHAR, created_at TIMESTAMP,标识 INT)
我立即收到以下错误消息:
PG::SqlclientUnableToEstablishSqlconnection: 错误: 不能
建立连接细节:致命:角色“my_user”不存在
但是,如果我在本地连接到 psql 并使用 \du 打印出用户列表,您会看到它已列出:
List of roles
Role name | Attributes | Member of
---------------+------------------------------------------------+-----------
MyName | Superuser, Create role, Create DB, Replication | {}
my_user | Create DB | {}
我真的不知道如何解决这个问题,谷歌搜索也对我没有太大帮助。关于它为什么给我这个错误信息的任何想法?
当我使用我的超级用户帐户连接时,我不需要指定密码并且 dblink 运行良好,所以我很困惑。这是pg_hba.conf:
local all all trust
local all all md5
host all all 192.168.33.1/24 trust
# IPv4 local connections:
host all all 127.0.0.1/32 trust
host all all 127.0.0.1/32 md5
# IPv6 local connections:
host all all ::1/128 trust
host all all ::1/128 md5
提前致谢!