Flow PHP

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
PostgreSqlCursorExtractor

from_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
PostgreSqlLimitOffsetExtractor

from_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
PostgreSqlKeySetExtractor

pgsql_pagination_key_asc()

pgsql_pagination_key_asc(string $column) : Key
Parameters
$column : string
Return values
Key

pgsql_pagination_key_desc()

pgsql_pagination_key_desc(string $column) : Key
Parameters
$column : string
Return values
Key

pgsql_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
InsertOptions

pgsql_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
UpdateOptions

pgsql_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

Return values
DeleteOptions

        
On this page

Search results