class Postgres extends Connection

Postgres database connection.

Properties

protected string $name Connection name. from Connection
protected string. $queryCompiler Query compiler. from Connection
protected string $queryBuilderHelper Query builder helper. from Connection
protected string $dsn Connection DSN. from Connection
protected string $username Database username. from Connection
protected string $password Database password. from Connection
protected bool $enableLog Enable the query log? from Connection
protected bool $reconnect Should we reconnect? from Connection
protected bool $usePersistentConnection Should we use a persistent connection? from Connection
protected array $options PDO options. from Connection
protected array $onConnectQueries Queries that should be executed upon connecting. from Connection
protected PDO $pdo PDO object. from Connection
protected int $transactionNestingLevel Transaction nesting level. from Connection
protected array $log Query log. from Connection
protected $supportsTransactionalDDL {@inheritdoc}

Methods

__construct(string $name, string $queryCompiler, string $queryBuilderHelper, array $config)

Constructor.

close()

Closes the database connection.

bool
supportsTransactionalDDL()

Does the connection support transactional DDL?

string
getName()

Returns the connection name.

getQueryBuilderHelper()

Returns a query builder helper instance.

getQueryCompiler(Query $query)

Returns a query compiler instance.

PDO
getPDO()

Returns the PDO instance.

enableLog()

Enables the query log.

disableLog()

Disables the query log.

array
getConnectionOptions()

Returns the connection options.

PDO
connect()

Creates a PDO instance.

reconnect()

Creates a new PDO instance.

bool
isAlive()

Checks if the connection is alive.

string
prepareQueryForLog(string $query, array $params)

Prepares query for logging.

log(string $query, array $params, float $start)

Adds a query to the query log.

clearLog()

Clears the query log.

array
getLog()

Returns the query log for the connection.

array
prepareQueryAndParams(string $query, array $params)

Prepare query and params.

bool
isConnectionLostAndShouldItBeReestablished()

Should we try to reestablish the connection?

bindParameter(PDOStatement $statement, int $key, mixed $value)

Binds parameter to the prepared statement.

prepareAndExecute(string $query, array $params, bool $success = null)

Prepares and executes a query.

bool
query(string $query, array $params = [])

Executes the query and returns TRUE on success or FALSE on failure.

int
queryAndCount(string $query, array $params = [])

Executes the query and return number of affected rows.

mixed|bool
first(string $query, array $params = [], mixed ...$fetchMode)

Returns the first row of the result set.

array
all(string $query, array $params = [], mixed ...$fetchMode)

Returns an array containing all of the result set rows.

mixed|bool
column(string $query, array $params = [])

Returns the value of the first column of the first row of the result set.

array
columns(string $query, array $params = [])

Returns an array containing the values of the indicated 0-indexed column.

array
pairs(string $query, array $params = [])

Returns an array where the first column is used as keys and the second as values.

yield(string $query, array $params = [], mixed ...$fetchMode)

Returns a generator that lets you iterate over the results.

builder()

Returns a query builder instance.

table(null|string|Closure|Subquery|Raw $table)

Returns a query builder instance where we have already chosen the table we want to query.

bool
createSavepoint()

Creates a new savepoint.

bool
rollBackSavepoint()

Rolls back to the previously created savepoint.

bool
beginTransaction()

Begin a transaction.

bool
commitTransaction()

Commits a transaction.

bool
rollBackTransaction()

Roll back a transaction.

int
getTransactionNestingLevel()

Returns the transaction nesting level.

bool
inTransaction()

Returns TRUE if we're in a transaction and FALSE if not.

mixed
transaction(Closure $queries)

Executes queries and rolls back the transaction if any of them fail.

Details

in Connection at line 161
__construct(string $name, string $queryCompiler, string $queryBuilderHelper, array $config)

Constructor.

Parameters

string $name Connection name
string $queryCompiler Query compiler
string $queryBuilderHelper Query builder helper
array $config Connection configuration

in Connection at line 197
close()

Closes the database connection.

in Connection at line 207
bool supportsTransactionalDDL()

Does the connection support transactional DDL?

Return Value

bool

in Connection at line 217
string getName()

Returns the connection name.

Return Value

string

in Connection at line 227
HelperInterface getQueryBuilderHelper()

Returns a query builder helper instance.

Return Value

HelperInterface

in Connection at line 240
Compiler getQueryCompiler(Query $query)

Returns a query compiler instance.

Parameters

Query $query Query

Return Value

Compiler

in Connection at line 252
PDO getPDO()

Returns the PDO instance.

Return Value

PDO

in Connection at line 260
enableLog()

Enables the query log.

in Connection at line 268
disableLog()

Disables the query log.

in Connection at line 278
protected array getConnectionOptions()

Returns the connection options.

Return Value

array

in Connection at line 296
protected PDO connect()

Creates a PDO instance.

Return Value

PDO

Exceptions

RuntimeException

in Connection at line 324
reconnect()

Creates a new PDO instance.

in Connection at line 334
bool isAlive()

Checks if the connection is alive.

Return Value

bool

in Connection at line 355
protected string prepareQueryForLog(string $query, array $params)

Prepares query for logging.

Parameters

string $query SQL query
array $params Query paramaters

Return Value

string

in Connection at line 395
protected log(string $query, array $params, float $start)

Adds a query to the query log.

Parameters

string $query SQL query
array $params Query parameters
float $start Start time in microseconds

in Connection at line 407
clearLog()

Clears the query log.

in Connection at line 417
array getLog()

Returns the query log for the connection.

Return Value

array

in Connection at line 429
protected array prepareQueryAndParams(string $query, array $params)

Prepare query and params.

Parameters

string $query SQL Query
array $params Query parameters

Return Value

array

in Connection at line 460
protected bool isConnectionLostAndShouldItBeReestablished()

Should we try to reestablish the connection?

Return Value

bool

in Connection at line 472
protected bindParameter(PDOStatement $statement, int $key, mixed $value)

Binds parameter to the prepared statement.

Parameters

PDOStatement $statement PDO statement
int $key Parameter key
mixed $value Parameter value

in Connection at line 517
protected PDOStatement prepareAndExecute(string $query, array $params, bool $success = null)

Prepares and executes a query.

Parameters

string $query SQL query
array $params Query parameters
bool $success &$success Was the query executed successfully?

Return Value

PDOStatement

Exceptions

PDOException

in Connection at line 574
bool query(string $query, array $params = [])

Executes the query and returns TRUE on success or FALSE on failure.

Parameters

string $query SQL query
array $params Query parameters

Return Value

bool

in Connection at line 588
int queryAndCount(string $query, array $params = [])

Executes the query and return number of affected rows.

Parameters

string $query SQL query
array $params Query parameters

Return Value

int

in Connection at line 601
mixed|bool first(string $query, array $params = [], mixed ...$fetchMode)

Returns the first row of the result set.

Parameters

string $query SQL query
array $params Query params
mixed ...$fetchMode Fetch mode

Return Value

mixed|bool

in Connection at line 621
array all(string $query, array $params = [], mixed ...$fetchMode)

Returns an array containing all of the result set rows.

Parameters

string $query SQL query
array $params Query parameters
mixed ...$fetchMode Fetch mode

Return Value

array

in Connection at line 633
mixed|bool column(string $query, array $params = [])

Returns the value of the first column of the first row of the result set.

Parameters

string $query SQL query
array $params Query parameters

Return Value

mixed|bool

in Connection at line 645
array columns(string $query, array $params = [])

Returns an array containing the values of the indicated 0-indexed column.

Parameters

string $query SQL query
array $params Query parameters

Return Value

array

in Connection at line 657
array pairs(string $query, array $params = [])

Returns an array where the first column is used as keys and the second as values.

Parameters

string $query SQL query
array $params Query parameters

Return Value

array

in Connection at line 670
Generator yield(string $query, array $params = [], mixed ...$fetchMode)

Returns a generator that lets you iterate over the results.

Parameters

string $query SQL query
array $params Query params
mixed ...$fetchMode Fetch mode

Return Value

Generator

in Connection at line 697
Query builder()

Returns a query builder instance.

Return Value

Query

in Connection at line 708
Query table(null|string|Closure|Subquery|Raw $table)

Returns a query builder instance where we have already chosen the table we want to query.

Parameters

null|string|Closure|Subquery|Raw $table Database table or subquery

Return Value

Query

in Connection at line 718
protected bool createSavepoint()

Creates a new savepoint.

Return Value

bool

in Connection at line 728
protected bool rollBackSavepoint()

Rolls back to the previously created savepoint.

Return Value

bool

in Connection at line 738
bool beginTransaction()

Begin a transaction.

Return Value

bool

in Connection at line 753
bool commitTransaction()

Commits a transaction.

Return Value

bool

in Connection at line 768
bool rollBackTransaction()

Roll back a transaction.

Return Value

bool

in Connection at line 794
int getTransactionNestingLevel()

Returns the transaction nesting level.

Return Value

int

in Connection at line 804
bool inTransaction()

Returns TRUE if we're in a transaction and FALSE if not.

Return Value

bool

in Connection at line 816
mixed transaction(Closure $queries)

Executes queries and rolls back the transaction if any of them fail.

Parameters

Closure $queries Queries

Return Value

mixed

Exceptions

PDOException