Так что это супер странно. Я пытаюсь сделать простой выбор с помощью DBLink как таковой:Postgres: 'роль не существует', используя 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, id INT)
И я сразу же я получаю сообщение об ошибке из:
PG::SqlclientUnableToEstablishSqlconnection: ERROR: could not
establish connection DETAIL: FATAL: role "my_user," does not exist
Но если я подключаюсь к Psql локально и распечатать список пользователей с помощью \ йи вы увидите это в списке:
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
Заранее благодарен!
Возможно, «my_user» создан с предыдущим/следующим пробелом? Есть ли пробел, видимый в выводе 'select '>' || rolname || '<' из pg_roles;'? – bma