不能在postgresql上插入一个具有所有权限并且也是表所有者的值



我有这个表:

sapiens=# d financiero.almac_solicitud_paz_salvo
Table "financiero.almac_solicitud_paz_salvo"
Column         |            Type             |                                                        Modifiers
------------------------+-----------------------------+-------------------------------------------------------------------------------------------------------------------------
id_solicitud_paz_salvo | bigint                      | not null default nextval(('financiero.sq_financiero_almac_solicitud_paz_salvo_id_solicitud_paz_salvo'::text)::regclass)
fec_solicitud          | timestamp(0) with time zone | not null
id_persona             | integer                     | not null
observacion            | text                        |
id_estado              | smallint                    | not null
id_tipo_paz_salvo      | smallint                    | not null
id_usuario             | bigint                      |
Indexes:
"pk_financiero_almac_solicitud_paz_salvo_id_solicitud_paz_salvo" PRIMARY KEY, btree (id_solicitud_paz_salvo)
Foreign-key constraints:
"fk_financiero_almac_solicitud_paz_salvo_id_estado" FOREIGN KEY (id_estado) REFERENCES general.gener_estado(id_estado)
"fk_financiero_almac_solicitud_paz_salvo_id_persona" FOREIGN KEY (id_persona) REFERENCES general.gener_persona(id_persona)
"fk_financiero_almac_solicitud_paz_salvo_id_tipo_paz_salvo" FOREIGN KEY (id_tipo_paz_salvo) REFERENCES financiero.almac_tipo_paz_salvo(id_tipo_paz_salvo)

ureport是拥有所有权限的用户,我还设置了表的所有者

sapiens=# dp financiero.almac_solicitud_paz_salvo
Access privileges
Schema   |           Name            | Type  |       Access privileges       | Column privileges | Policies
------------+---------------------------+-------+-------------------------------+-------------------+----------
financiero | almac_solicitud_paz_salvo | table | ureport=arwdDxt/ureport      +|                   |

但是当我想插入一个值时,比如:

INSERT INTO financiero.almac_solicitud_paz_salvo
(fec_solicitud, id_persona, observacion, id_estado, id_tipo_paz_salvo, id_usuario)
VALUES('2022-09-19'::timestamp, 17962, '', 2, 3, 17);

我得到:

ERROR:  permission denied for relation almac_tipo_paz_salvo
CONTEXT:  SQL statement "SELECT 1 FROM ONLY "financiero"."almac_tipo_paz_salvo" x WHERE "id_tipo_paz_salvo" OPERATOR(pg_catalog.=) $1 FOR KEY SHARE OF x"
********** Error **********
ERROR: permission denied for relation almac_tipo_paz_salvo
SQL state: 42501
Context: SQL statement "SELECT 1 FROM ONLY "financiero"."almac_tipo_paz_salvo" x WHERE "id_tipo_paz_salvo" OPERATOR(pg_catalog.=) $1 FOR KEY SHARE OF x"

为什么会这样?,感谢您对的友好支持

您使用的是nextval序列,因此它也应该具有USAGE权限:GRANT USAGE,SELECT ON sequence financiero.sq_financiero_almac_solicitd_paz_salvo_id_solicito_paz_solvo TO sapiens;智人是你的角色。在执行权限授予命令之前,不要忘记选择数据库

相关内容

  • 没有找到相关文章

最新更新