# Higher-level CRUD Abstraction for Postgres RLS

DevFeed: [Higher-level CRUD Abstraction for Postgres RLS](<https://devfeed.tech/articles/higher-level-crud-abstraction-for-postgres-rls-5326.md>)

Original publisher: [Read original article](<https://neon.com/blog/higher-level-crud-abstraction-for-postgres-rls>)

Author: David Gomes

Published: 2024-11-13T17:09:49Z

Content type: article

Language: en

Sources: [Blog -- Neon Docs](<https://devfeed.tech/sources/blog-neon-docs.md>)

Topics: [PostgreSQL](<https://devfeed.tech/topics/postgresql.md>), [Security](<https://devfeed.tech/topics/security.md>), [CRUD](<https://devfeed.tech/topics/crud.md>), [SQL](<https://devfeed.tech/topics/sql.md>), [API](<https://devfeed.tech/topics/api.md>), [App](<https://devfeed.tech/topics/app.md>)

Tags: [api](<https://devfeed.tech/tags/api.md>), [app](<https://devfeed.tech/tags/app.md>), [code](<https://devfeed.tech/tags/code.md>), [data](<https://devfeed.tech/tags/data.md>), [postgres](<https://devfeed.tech/tags/postgres.md>), [postgresql](<https://devfeed.tech/tags/postgresql.md>), [security](<https://devfeed.tech/tags/security.md>), [sql](<https://devfeed.tech/tags/sql.md>)

## AI overview

The article presents a higher-level CRUD abstraction for PostgreSQL Row-Level Security. It replaces repetitive, low-level policy definitions with a concise API that accepts roles and read or modification rules, then returns PostgreSQL policies for select, insert, update, and delete operations.

## Source excerpt

Postgres Row-Level Security is notoriously difficult to comprehend and use. The policy access model for a todos table in a Todo List app can be declared as per the following table: Operation Using(applies to data being returned) Wich Check(applies to data being written) Select au...