functions.php
Functions
from_pgsql_cursor()
Create a PostgreSQL cursor extractor using server-side cursors for memory-efficient extraction.
from_pgsql_cursor(Client $client, SqlQuery|string $query[, array<int, mixed> $parameters = [] ]) : PostgreSqlCursorExtractor
Uses DECLARE CURSOR + FETCH to stream data without loading entire result set into memory. This is the only way to achieve true low memory extraction with PHP's ext-pgsql.
Note: Requires a transaction context (auto-started if not in one).
Parameters
- $client : Client
-
PostgreSQL client
- $query : SqlQuery|string
-
SQL query to execute (wrapped in DECLARE CURSOR)
- $parameters : array<int, mixed> = []
-
Positional parameters for the query
Return values
PostgreSqlCursorExtractorfrom_pgsql_limit_offset()
Create a PostgreSQL extractor using LIMIT/OFFSET pagination.
from_pgsql_limit_offset(Client $client, SqlQuery|string $query[, array<int, mixed> $parameters = [] ]) : PostgreSqlLimitOffsetExtractor
Suitable for smaller datasets. For large datasets, consider using keyset pagination (from_pgsql_key_set) which is more efficient.
Parameters
- $client : Client
-
PostgreSQL client
- $query : SqlQuery|string
-
SQL query to execute (must have ORDER BY clause)
- $parameters : array<int, mixed> = []
-
Positional parameters for the query
Return values
PostgreSqlLimitOffsetExtractorfrom_pgsql_key_set()
Create a PostgreSQL extractor using keyset (cursor-based) pagination.
from_pgsql_key_set(Client $client, SqlQuery|string $query, KeySet $keySet[, array<int, mixed> $parameters = [] ]) : PostgreSqlKeySetExtractor
More efficient than LIMIT/OFFSET for large datasets - uses indexed WHERE conditions instead of skipping rows.
Parameters
- $client : Client
-
PostgreSQL client
- $query : SqlQuery|string
-
SQL query to execute (must have ORDER BY matching keyset columns)
- $keySet : KeySet
-
Columns to use for keyset pagination
- $parameters : array<int, mixed> = []
-
Positional parameters for the query
Return values
PostgreSqlKeySetExtractorpgsql_pagination_key_asc()
pgsql_pagination_key_asc(string $column) : Key
Parameters
- $column : string
Return values
Keypgsql_pagination_key_desc()
pgsql_pagination_key_desc(string $column) : Key
Parameters
- $column : string
Return values
Keypgsql_pagination_key_set()
pgsql_pagination_key_set(Key ...$keys) : KeySet
Parameters
- $keys : Key
Return values
KeySetto_pgsql_table()
to_pgsql_table(Client $client, string $table) : PostgreSqlLoader
Parameters
- $client : Client
- $table : string
Return values
PostgreSqlLoaderpgsql_insert_options()
Create insert options for PostgreSQL loader.
pgsql_insert_options([bool $skipConflicts = false ][, array<int, string> $conflictColumns = [] ][, null|string $conflictConstraint = null ][, array<int, string> $updateColumns = [] ]) : InsertOptions
Parameters
- $skipConflicts : bool = false
-
If true, use ON CONFLICT DO NOTHING
- $conflictColumns : array<int, string> = []
-
Column names for ON CONFLICT (columns)
- $conflictConstraint : null|string = null
-
Constraint name for ON CONFLICT ON CONSTRAINT
- $updateColumns : array<int, string> = []
-
Columns to update on conflict (empty = all non-key columns)
Return values
InsertOptionspgsql_update_options()
Create update options for PostgreSQL loader.
pgsql_update_options(array<int, string> $primaryKeys) : UpdateOptions
Parameters
- $primaryKeys : array<int, string>
-
Columns to use in WHERE clause for matching rows
Return values
UpdateOptionspgsql_delete_options()
Create delete options for PostgreSQL loader.
pgsql_delete_options(array<int, string> $primaryKeys) : DeleteOptions
Parameters
- $primaryKeys : array<int, string>
-
Columns to use in WHERE clause for matching rows