связь не существует (golang / mac OS) - PullRequest
0 голосов
/ 27 декабря 2018

Я интенсивно искал несколько часов сейчас, и я чувствую, что перепробовал все, но я все еще получаю, что «отношение не существует», как из моего кода в Go, так и из дампавывод базы данных PSQL.

при входе в систему как пользователя postgres по умолчанию:

из \du, все пользователи присутствуют и говорят, что он владеет правильной базой данных из \dn все схемы есть

, хотя, когда я меняю пользователя, например,

\c myapp_db myapp_admin

работает \du, \dn и т. д., я ничего не получаю

show search_path

также отображается как «myapp», что правильно.все вроде бы правильно, но отношения нет, что дает?

Вот мой файл .sql, который я загрузил вот так:

psql
\i thefile.sql
... runs and everything works granted, created, altered, etc.
\c myapp_db myapp_admin

тогда я запускаю

\dt

и нет Буэно!отношений нет!

Файл SQL, о котором идет речь:

CREATE USER myapp_admin WITH ENCRYPTED PASSWORD 'admin';
CREATE USER myapp_manager WITH ENCRYPTED PASSWORD 'manager';
CREATE USER myapp_user WITH ENCRYPTED PASSWORD 'user';

GRANT myapp_user TO myapp_manager;
GRANT myapp_manager TO myapp_admin;

CREATE DATABASE myapp_db;
REVOKE ALL ON DATABASE myapp_db FROM PUBLIC;

GRANT CONNECT ON DATABASE myapp_db to myapp_user;

CREATE SCHEMA myapp AUTHORIZATION myapp_admin;

SET search_path = myapp;

ALTER ROLE myapp_admin IN DATABASE myapp_db SET search_path = myapp;
ALTER ROLE myapp_manager IN DATABASE myapp_db SET search_path = myapp;
ALTER ROLE myapp_user IN DATABASE myapp_db SET search_path = myapp;

GRANT USAGE ON SCHEMA myapp to myapp_user;
GRANT CREATE ON SCHEMA myapp to myapp_admin;

CREATE TABLE myapp.account (
    id bigserial primary key not null,
);

ALTER DEFAULT PRIVILEGES FOR ROLE myapp_admin
GRANT SELECT ON TABLES TO myapp_user;  -- only read

ALTER DEFAULT PRIVILEGES FOR ROLE myapp_admin
GRANT INSERT, UPDATE, DELETE, TRUNCATE ON TABLES TO myapp_manager;  -- + write, truncate

ALTER DEFAULT PRIVILEGES FOR ROLE myapp_admin
GRANT USAGE, SELECT, UPDATE ON SEQUENCES TO myapp_manager;

Есть идеи, что здесь происходит?Я начинаю думать, что это какая-то ошибка с моей установкой PostgreSQL.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...