26 lines
1.1 KiB
ReStructuredText
26 lines
1.1 KiB
ReStructuredText
.. _schema_isolation:
|
|
|
|
Schema Isolation
|
|
================
|
|
|
|
A PostgREST instance exposes all the tables, views, and functions of a single `PostgreSQL schema <https://www.postgresql.org/docs/current/ddl-schemas.html>`_ (a namespace of database objects). This means private data or implementation details can go inside different private schemas and be invisible to HTTP clients.
|
|
|
|
It is recommended that you don't expose tables on your API schema. Instead expose views and functions which insulate the internal details from the outside world.
|
|
This allows you to change the internals of your schema and maintain backwards compatibility. It also keeps your code easier to refactor, and provides a natural way to do API versioning.
|
|
|
|
.. container:: svg-container-md
|
|
|
|
.. container:: img-dark
|
|
|
|
.. See https://github.com/sphinx-doc/sphinx/issues/2240#issuecomment-187366626
|
|
|
|
.. raw:: html
|
|
|
|
<object width="100%" data="../_static/sch-iso-dark.svg" type="image/svg+xml"></object>
|
|
|
|
.. container:: img-light
|
|
|
|
.. raw:: html
|
|
|
|
<object width="100%" data="../_static/sch-iso.svg" type="image/svg+xml"></object>
|