Postgresql 我应该给Flyway什么样的博士后特权?

Postgresql 我应该给Flyway什么样的博士后特权?,postgresql,flyway,Postgresql,Flyway,我在Postgres中创建了一个新数据库,并通过Flyway专门为模式迁移创建了一个新用户 createdb mydb createuser mydb_deploy 我应该给这个用户什么合理的权限,才足以让Flyway连接到数据库并进行模式迁移 我是Postgres和Flyway的新手。Flyway用户需要非常高的权限,因为这将是所有创建对象的所有者 您可以简单地分配超级用户权限,但应尽可能避免这样做 从空数据库开始时,将数据库上的所有内容授予Flyway用户,以便其可以在数据库中创建模式,然

我在Postgres中创建了一个新数据库,并通过Flyway专门为模式迁移创建了一个新用户

createdb mydb
createuser mydb_deploy
我应该给这个用户什么合理的权限,才足以让Flyway连接到数据库并进行模式迁移


我是Postgres和Flyway的新手。

Flyway用户需要非常高的权限,因为这将是所有创建对象的所有者

您可以简单地分配超级用户权限,但应尽可能避免这样做

从空数据库开始时,
将数据库上的所有内容授予Flyway用户,以便其可以在数据库中创建模式,然后在模式中创建对象


然后Flyway用户将拥有数据库中的所有对象,一切都会正常工作。

我不会通过Flyway创建数据库。这是一个DBA任务,应该由DBA而不是应用程序用户来完成。我不打算通过Flyway创建一个新的数据库。我刚刚接触Postgres,不知道部署用户应该拥有什么特权?那么,为什么要以创建数据库和用户的代码为例呢?如果您不需要从flyway创建数据库,那么只需让用户成为该数据库的所有者,并且不需要额外的权限。谢谢,我授予了
GRANT ALL ON database mydb to mydb_deploy
成功了。这与最小特权原则有什么关系?如果Flyway用户拥有超级用户角色,那么它是否拥有真正绝对需要的更多特权?@Rubio您绝对不应该使用超级用户。我说“你可以……但是……”。然而,创建自己的表的工具根本不符合最小特权原则。@Laurenz同意。我必须为我们的PostgreSQL数据库计划安全强化,这是一个有点问题。