REST from your database catalog
    DocumentationCheat sheetQuestionsDownloadSource
    Questions
    • How do I...?
    Start here
    • Getting started
    • What a table becomes
    • Compared with PostgREST
    Setting up
    • Tables, columns and relations
    • Security and hooks
    • Writes and procedures
    • Prefer: return=representation
    • Node, Fastify, Express
    Reading
    • select
    • /{key}
    • relation(...)
    • order
    • limit, offset
    • relation.order, .limit
    • count
    • count(), sum(), avg()...
    • "name"
    Filtering
    • eq, neq
    • gt, gte, lt, lte
    • in
    • like, ilike
    • match, imatch
    • is
    • ov, cs, cd
    • not
    • relation.column
    • or, and
    Databases
    • Supported databases
    • Adding a database
    Reference
    • Cheat sheet
    • Errors
    Start here

    Compared with PostgREST

    What reads the same, what differs, and why restloom runs inside your backend.

    restloom keeps what makes PostgREST pleasant, the catalog as the source and a query string anyone can type, and changes where control sits.

    PostgRESTrestloom
    Runs asa separate servera library inside your backend
    DatabasesPostgreSQLPostgreSQL, MySQL, SQL Server, SQLite
    What is servedeverything the role can reach in the schemawhat you name in expose, minus hidden columns
    Sensitive columnsserved unless the role cannot read themhidden by name unless shown
    Writeseverything the role may writeoff until a resource enables them, by column
    Authorisationdatabase roles and row securityyour hooks, plus row security where the database has it
    Relationsinferred from foreign keysinferred from foreign keys, overridable, removable
    Filtering through a to-many relationan embed with !innertags.name=eq.work: at least one; not.: none
    Ordering by a related columnon embedded resourcesorder=owner.name, order=steps.count
    A name that is a keywordnot addressable as a filterquote it: "limit"=eq.5
    Over-sized limitcappedrefused with limit_exceeded
    Errorsdatabase messagesstable codes, no database text

    The grammar is close enough that most PostgREST reads work unchanged: select, eq, in, is, like, order, limit, offset, or, embeds, and Prefer: return=representation.

    PreviousWhat a table becomesNext Tables, columns and relations
    restloom - a REST API generated from your database catalog
    DocumentationDownloadSource