Вот минимальный грант, который должен быть предоставлен для доступа к данным через секвелиз. Более того, вам нужно отключить sequelize.sync, поскольку он пытается выполнить «Создать, если не существует в таблице».
- Создать пользователя
CREATE USER [An User] WITH LOGIN NOSUPERUSER NOCREATEDB NOCREATEROLE INHERIT NOREPLICATION CONNECTION LIMIT 100 PASSWORD '[Some secret]';
- Грант подключиться к моей базе данных
GRANT CONNECT ON DATABASE [DB NAME] TO [An User];
- Грант на использование схемы
GRANT USAGE ON SCHEMA [Schema Name] TO [An User];
- Наконец, Грант для базовой операции CRUD
GRANT SELECT, INSERT, UPDATE, DELETEON ALL TABLES IN SCHEMA [Schema Name] TO [An User];
Если вы хотите управлять через "sequelize.snc",
GRANT create ON SCHEMA [Schema Name] TO [An User];