52.38. pg_policy #

O catálogo pg_policy armazena políticas de segurança no nível de linha para tabelas. Uma política inclui o tipo de comando ao qual se aplica (possivelmente todos os comandos), as funções de banco de dados (roles) às quais se aplica, a expressão a ser adicionada como uma qualificação de barreira de segurança para consultas que incluem a tabela, e a expressão a ser adicionada como opção WITH CHECK para consultas que tentam adicionar novos registros à tabela.

Tabela 52.38. Colunas de pg_policy

Coluna Tipo de dados

Descrição

oid oid

Identificador da linha

polname name

O nome da política

polrelid oid (referencia pg_class.oid)

Tabela à qual a política se aplica

polcmd char

O tipo de comando ao qual a política é aplicada: r para SELECT, a para INSERT, w para UPDATE, d para DELETE, ou * para todos

polpermissive bool

A política é permissiva ou restritiva?

polroles oid[] (referencia pg_authid.oid)

As funções de banco de dados às quais a política é aplicada; zero significa PUBLIC (e normalmente aparece sozinho na matriz)

polqual pg_node_tree

A árvore de expressão a ser adicionada às qualificações da barreira de segurança para consultas que utilizam a tabela

polwithcheck pg_node_tree

A árvore de expressão a ser adicionada às qualificações WITH CHECK para consultas que tentam adicionar linhas à tabela


Nota

As políticas armazenadas em pg_policy são aplicadas apenas quando pg_class.relrowsecurity está definido para a tabela.

52.38.1. Veja também #

CREATE POLICY, ALTER POLICY, DROP POLICY, ALTER TABLE