Select Query Builder
PgSelectBuilder
Builds SELECT queries with PostgreSQL-specific features.from()
Specifies which table or subquery to select from.PgTable | Subquery | PgView
required
Table, view, or subquery to select from
where()
Adds WHERE clause conditions.SQL | undefined
required
SQL condition expression
orderBy()
Adds ORDER BY clause.(PgColumn | SQL)[]
required
Columns or SQL expressions to order by
limit()
Limits the number of returned rows.number
required
Maximum number of rows to return
offset()
Skips a number of rows before returning results.number
required
Number of rows to skip
groupBy()
Groups results by columns.(PgColumn | SQL)[]
required
Columns to group by
having()
Filters grouped results.SQL | (selected: SelectedFields) => SQL
required
Condition to filter groups
PostgreSQL-Specific Select Features
distinctOn()
PostgreSQLDISTINCT ON clause for selecting distinct rows based on specific columns.
(PgColumn | SQL)[]
required
Columns to determine uniqueness
DISTINCT ON, the ORDER BY must start with the same columns.
for()
Adds locking clauses for concurrent access control.'update' | 'no key update' | 'share' | 'key share'
required
Lock type:
'update': Full row lock'no key update': Lock without blocking foreign key checks'share': Shared lock (prevents updates)'key share': Shared lock on key only
object
Lock options:
of: Table to lock (for joins)noWait: Fail immediately if row is lockedskipLocked: Skip locked rows
Join Operations
innerJoin()
leftJoin()
rightJoin()
fullJoin()
PgTable | Subquery
required
Table or subquery to join
SQL
required
Join condition
Insert Query Builder
PgInsertBuilder
Builds INSERT queries with PostgreSQL-specific features.values()
Specifies values to insert.InferInsertModel | InferInsertModel[]
required
Single object or array of objects to insert
onConflictDoNothing()
PostgreSQLON CONFLICT DO NOTHING clause.
PgColumn | PgColumn[]
Specific column(s) that trigger the conflict
onConflictDoUpdate()
PostgreSQLON CONFLICT DO UPDATE clause for upserts.
PgColumn | PgColumn[]
required
Column(s) that trigger the conflict
object
required
Values to update on conflict
SQL
Condition for when to perform update
returning()
Returns inserted rows.SelectedFields
Columns to return (returns all if omitted)
overridingSystemValue()
Allows inserting values into generated identity columns.Update Query Builder
PgUpdateBuilder
Builds UPDATE queries.set()
Specifies columns and values to update.Partial<InferInsertModel>
required
Object with column names and new values
where()
Filters which rows to update.returning()
Returns updated rows.Delete Query Builder
PgDeleteBase
Builds DELETE queries.where()
Specifies which rows to delete.SQL
required
Condition for which rows to delete
returning()
Returns deleted rows.Prepared Statements
All query builders support.prepare() for creating reusable prepared statements.
string
Name for the prepared statement
Batch Operations
Execute multiple queries in a single round trip.Query[]
required
Array of queries to execute
Refresh Materialized View
PgRefreshMaterializedView
Refreshes PostgreSQL materialized views.concurrently()
Enables concurrent refresh (PostgreSQLREFRESH MATERIALIZED VIEW CONCURRENTLY).