Fil*_*Fil 9 postgresql laravel-9
我正在使用 postgresql 15
我尝试运行这些
grant all privileges on database my_database to my_database_user;
grant all privileges on all tables in schema public to my_database_user;
grant all privileges on all sequences in schema public to my_database_user;
grant all privileges on all functions in schema public to my_database_user;
Run Code Online (Sandbox Code Playgroud)
但当我跑步时
php artisan 迁移 --seed
我有
SQLSTATE[42501]:权限不足:7 错误:字符 14 处的架构公共权限被拒绝(SQL:创建表“迁移”(“id”序列主键不为空,“迁移”varchar(255)不为空,“批处理”)整数不为空))
我缺少什么?
我确实确保 .env 具有正确的凭据
DB_CONNECTION=pgsql
DB_HOST=127.0.0.1
DB_PORT=5432
DB_DATABASE=my_database
DB_USERNAME=my_database_user
DB_PASSWORD=password
Run Code Online (Sandbox Code Playgroud)
检查我是否做到了
postgres=# \du my_database_user
List of roles
Role name | Attributes | Member of
-------------+------------+-----------
my_database_user | | {}
Run Code Online (Sandbox Code Playgroud)
和
postgres=# SELECT * FROM pg_roles;
rolname | rolsuper | rolinherit | rolcreaterole | rolcreatedb | rolcanlogin | rolreplication | rolconnlimit | rolpassword | rolvaliduntil | rolbypassrls | rolconfig | oid
---------------------------+----------+------------+---------------+-------------+-------------+----------------+--------------+-------------+---------------+--------------+-----------+-------
my_database_user | f | t | f | f | t | f | -1 | ******** | | f | | 16389
Run Code Online (Sandbox Code Playgroud)
Lau*_*lbe 21
您缺少架构的权限:
GRANT CREATE ON SCHEMA public TO my_database_user;
Run Code Online (Sandbox Code Playgroud)
您可能使用 PostgreSQL v15 或更高版本。v15 中模式的默认权限public已更改。之前,不安全的默认设置是允许所有人(PUBLIC)在模式中创建对象public。现在只有数据库所有者可以执行此操作,除非您授予额外的权限。
| 归档时间: |
|
| 查看次数: |
11808 次 |
| 最近记录: |