【发布时间】:2019-07-18 05:12:18
【问题描述】:
我在使用 postgres 11 时遇到了奇怪的问题。
我正在创建一堆用户,然后为他们分配一些角色,同时让他们连接到某个数据库。
成功创建 2478 个角色后,当我尝试创建新用户时出现此错误:
db=# create user foo;
CREATE ROLE
db=# grant connect on database db to foo;
ERROR: row is too big: size 8168, maximum size 8160
同样的错误出现在数据库日志中。
我检查了db卷是否没有空间不足,那里还有1T可用...
我无法想象 postgres 在运行简单授权时尝试插入超过 8k...?
编辑:
似乎已经问过类似的问题(架构的使用权限):
ERROR: row is too big: size 8168, maximum size 8164
因此,解决方案是创建一个角色,例如 connect_to_my_db 并授予该角色的连接权限,然后使用 GRANT connect_to_my_db 代替对每个用户运行 GRANT connect。
【问题讨论】:
标签: postgresql