PostgresConnection

class PostgresConnection extends Connection (View source)

Traits

DetectsDeadlocks
DetectsLostConnections
ManagesTransactions

Properties

protected PDO|Closure $pdo The active PDO connection. from Connection
protected PDO|Closure $readPdo The active PDO connection used for reads. from Connection
protected string $database The name of the connected database. from Connection
protected string $tablePrefix The table prefix for the connection. from Connection
protected array $config The database connection configuration options. from Connection
protected callable $reconnector The reconnector instance for the connection. from Connection
protected Grammar $queryGrammar The query grammar implementation. from Connection
protected Grammar $schemaGrammar The schema grammar implementation. from Connection
protected Processor $postProcessor The query post processor implementation. from Connection
protected Dispatcher $events The event dispatcher instance. from Connection
protected int $fetchMode The default fetch mode of the connection. from Connection
protected int $transactions The number of active transactions. from Connection
protected int $recordsModified Indicates if changes have been made to the database. from Connection
protected array $queryLog All of the queries run against the connection. from Connection
protected bool $loggingQueries Indicates whether queries are being logged. from Connection
protected bool $pretending Indicates if the connection is in a "dry run". from Connection
protected Connection $doctrineConnection The instance of Doctrine connection. from Connection
static protected array $resolvers The connection resolvers. from Connection

Methods

bool causedByDeadlock(Exception $e)

Determine if the given exception was caused by a deadlock.

from DetectsDeadlocks
bool causedByLostConnection(Throwable $e)

Determine if the given exception was caused by a lost connection.

from DetectsLostConnections
mixed transaction(Closure $callback, int $attempts = 1)

Execute a Closure within a transaction.

from ManagesTransactions
void handleTransactionException(Exception $e, int $currentAttempt, int $maxAttempts)

Handle an exception encountered when running a transacted statement.

from ManagesTransactions
void beginTransaction()

Start a new database transaction.

from ManagesTransactions
void createTransaction()

Create a transaction within the database.

from ManagesTransactions
void createSavepoint()

Create a save point within the database.

from ManagesTransactions
void handleBeginTransactionException(Throwable $e)

Handle an exception from a transaction beginning.

from ManagesTransactions
void commit()

Commit the active database transaction.

from ManagesTransactions
void rollBack(int|null $toLevel = null)

Rollback the active database transaction.

from ManagesTransactions
void performRollBack(int $toLevel)

Perform a rollback within the database.

from ManagesTransactions
handleRollBackException(Exception $e)

Handle an exception from a rollback.

from ManagesTransactions
int transactionLevel()

Get the number of active transactions.

from ManagesTransactions
void __construct(PDO|Closure $pdo, string $database = '', string $tablePrefix = '', array $config = [])

Create a new database connection instance.

from Connection
void useDefaultQueryGrammar()

Set the query grammar to the default implementation.

from Connection
Grammar getDefaultQueryGrammar()

Get the default query grammar instance.

void useDefaultSchemaGrammar()

Set the schema grammar to the default implementation.

from Connection
Grammar getDefaultSchemaGrammar()

Get the default schema grammar instance.

void useDefaultPostProcessor()

Set the query post processor to the default implementation.

from Connection
Processor getDefaultPostProcessor()

Get the default post processor instance.

Builder getSchemaBuilder()

Get a schema builder instance for the connection.

Builder table(string $table)

Begin a fluent query against a database table.

from Connection
Builder query()

Get a new query builder instance.

from Connection
mixed selectOne(string $query, array $bindings = [], bool $useReadPdo = true)

Run a select statement and return a single result.

from Connection
array selectFromWriteConnection(string $query, array $bindings = [])

Run a select statement against the database.

from Connection
array select(string $query, array $bindings = [], bool $useReadPdo = true)

Run a select statement against the database.

from Connection
Generator cursor(string $query, array $bindings = [], bool $useReadPdo = true)

Run a select statement against the database and returns a generator.

from Connection
PDOStatement prepared(PDOStatement $statement)

Configure the PDO prepared statement.

from Connection
PDO getPdoForSelect(bool $useReadPdo = true)

Get the PDO connection to use for a select query.

from Connection
bool insert(string $query, array $bindings = [])

Run an insert statement against the database.

from Connection
int update(string $query, array $bindings = [])

Run an update statement against the database.

from Connection
int delete(string $query, array $bindings = [])

Run a delete statement against the database.

from Connection
bool statement(string $query, array $bindings = [])

Execute an SQL statement and return the boolean result.

from Connection
int affectingStatement(string $query, array $bindings = [])

Run an SQL statement and get the number of rows affected.

from Connection
bool unprepared(string $query)

Run a raw, unprepared query against the PDO connection.

from Connection
array pretend(Closure $callback)

Execute the given callback in "dry run" mode.

from Connection
array withFreshQueryLog(Closure $callback)

Execute the given callback in "dry run" mode.

from Connection
void bindValues(PDOStatement $statement, array $bindings)

Bind values to their parameters in the given statement.

from Connection
array prepareBindings(array $bindings)

Prepare the query bindings for execution.

from Connection
mixed run(string $query, array $bindings, Closure $callback)

Run a SQL statement and log its execution context.

from Connection
mixed runQueryCallback(string $query, array $bindings, Closure $callback)

Run a SQL statement.

from Connection
void logQuery(string $query, array $bindings, float|null $time = null)

Log a query in the connection's query log.

from Connection
float getElapsedTime(int $start)

Get the elapsed time since a given starting point.

from Connection
mixed handleQueryException(Exception $e, string $query, array $bindings, Closure $callback)

Handle a query exception.

from Connection
mixed tryAgainIfCausedByLostConnection(QueryException $e, string $query, array $bindings, Closure $callback)

Handle a query exception that occurred during query execution.

from Connection
void reconnect()

Reconnect to the database.

from Connection
void reconnectIfMissingConnection()

Reconnect to the database if a PDO connection is missing.

from Connection
void disconnect()

Disconnect from the underlying PDO connection.

from Connection
void listen(Closure $callback)

Register a database query listener with the connection.

from Connection
array|null fireConnectionEvent(string $event)

Fire an event for this connection.

from Connection
void event(mixed $event)

Fire the given event if possible.

from Connection
Expression raw(mixed $value)

Get a new raw query expression.

from Connection
void recordsHaveBeenModified(bool $value = true)

Indicate if any records have been modified.

from Connection
bool isDoctrineAvailable()

Is Doctrine available?

from Connection
Column getDoctrineColumn(string $table, string $column)

Get a Doctrine Schema Column instance.

from Connection
AbstractSchemaManager getDoctrineSchemaManager()

Get the Doctrine DBAL schema manager for the connection.

from Connection
Connection getDoctrineConnection()

Get the Doctrine DBAL database connection instance.

from Connection
PDO getPdo()

Get the current PDO connection.

from Connection
PDO getReadPdo()

Get the current PDO connection used for reading.

from Connection
$this setPdo(PDO|Closure|null $pdo)

Set the PDO connection.

from Connection
$this setReadPdo(PDO|Closure|null $pdo)

Set the PDO connection used for reading.

from Connection
$this setReconnector(callable $reconnector)

Set the reconnect instance on the connection.

from Connection
string|null getName()

Get the database connection name.

from Connection
mixed getConfig(string|null $option = null)

Get an option from the configuration options.

from Connection
string getDriverName()

Get the PDO driver name.

from Connection
Grammar getQueryGrammar()

Get the query grammar used by the connection.

from Connection
$this setQueryGrammar(Grammar $grammar)

Set the query grammar used by the connection.

from Connection
Grammar getSchemaGrammar()

Get the schema grammar used by the connection.

from Connection
$this setSchemaGrammar(Grammar $grammar)

Set the schema grammar used by the connection.

from Connection
Processor getPostProcessor()

Get the query post processor used by the connection.

from Connection
$this setPostProcessor(Processor $processor)

Set the query post processor used by the connection.

from Connection
Dispatcher getEventDispatcher()

Get the event dispatcher used by the connection.

from Connection
$this setEventDispatcher(Dispatcher $events)

Set the event dispatcher instance on the connection.

from Connection
void unsetEventDispatcher()

Unset the event dispatcher for this connection.

from Connection
bool pretending()

Determine if the connection in a "dry run".

from Connection
array getQueryLog()

Get the connection query log.

from Connection
void flushQueryLog()

Clear the query log.

from Connection
void enableQueryLog()

Enable the query log on the connection.

from Connection
void disableQueryLog()

Disable the query log on the connection.

from Connection
bool logging()

Determine whether we're logging queries.

from Connection
string getDatabaseName()

Get the name of the connected database.

from Connection
$this setDatabaseName(string $database)

Set the name of the connected database.

from Connection
string getTablePrefix()

Get the table prefix for the connection.

from Connection
$this setTablePrefix(string $prefix)

Set the table prefix in use by the connection.

from Connection
Grammar withTablePrefix(Grammar $grammar)

Set the table prefix and return the grammar.

from Connection
static void resolverFor(string $driver, Closure $callback)

Register a connection resolver.

from Connection
static mixed getResolver(string $driver)

Get the connection resolver for the given driver.

from Connection
Driver getDoctrineDriver()

Get the Doctrine DBAL driver.

Details

protected bool causedByDeadlock(Exception $e)

Determine if the given exception was caused by a deadlock.

Parameters

Exception $e

Return Value

bool

protected bool causedByLostConnection(Throwable $e)

Determine if the given exception was caused by a lost connection.

Parameters

Throwable $e

Return Value

bool

mixed transaction(Closure $callback, int $attempts = 1)

Execute a Closure within a transaction.

Parameters

Closure $callback
int $attempts

Return Value

mixed

Exceptions

Throwable

protected void handleTransactionException(Exception $e, int $currentAttempt, int $maxAttempts)

Handle an exception encountered when running a transacted statement.

Parameters

Exception $e
int $currentAttempt
int $maxAttempts

Return Value

void

Exceptions

Exception

void beginTransaction()

Start a new database transaction.

Return Value

void

Exceptions

Exception

protected void createTransaction()

Create a transaction within the database.

Return Value

void

protected void createSavepoint()

Create a save point within the database.

Return Value

void

protected void handleBeginTransactionException(Throwable $e)

Handle an exception from a transaction beginning.

Parameters

Throwable $e

Return Value

void

Exceptions

Exception

void commit()

Commit the active database transaction.

Return Value

void

void rollBack(int|null $toLevel = null)

Rollback the active database transaction.

Parameters

int|null $toLevel

Return Value

void

Exceptions

Exception

protected void performRollBack(int $toLevel)

Perform a rollback within the database.

Parameters

int $toLevel

Return Value

void

protected handleRollBackException(Exception $e)

Handle an exception from a rollback.

Parameters

Exception $e

Exceptions

Exception

int transactionLevel()

Get the number of active transactions.

Return Value

int

void __construct(PDO|Closure $pdo, string $database = '', string $tablePrefix = '', array $config = [])

Create a new database connection instance.

Parameters

PDO|Closure $pdo
string $database
string $tablePrefix
array $config

Return Value

void

void useDefaultQueryGrammar()

Set the query grammar to the default implementation.

Return Value

void

protected Grammar getDefaultQueryGrammar()

Get the default query grammar instance.

Return Value

Grammar

void useDefaultSchemaGrammar()

Set the schema grammar to the default implementation.

Return Value

void

protected Grammar getDefaultSchemaGrammar()

Get the default schema grammar instance.

Return Value

Grammar

void useDefaultPostProcessor()

Set the query post processor to the default implementation.

Return Value

void

protected Processor getDefaultPostProcessor()

Get the default post processor instance.

Return Value

Processor

Builder getSchemaBuilder()

Get a schema builder instance for the connection.

Return Value

Builder

Builder table(string $table)

Begin a fluent query against a database table.

Parameters

string $table

Return Value

Builder

Builder query()

Get a new query builder instance.

Return Value

Builder

mixed selectOne(string $query, array $bindings = [], bool $useReadPdo = true)

Run a select statement and return a single result.

Parameters

string $query
array $bindings
bool $useReadPdo

Return Value

mixed

array selectFromWriteConnection(string $query, array $bindings = [])

Run a select statement against the database.

Parameters

string $query
array $bindings

Return Value

array

array select(string $query, array $bindings = [], bool $useReadPdo = true)

Run a select statement against the database.

Parameters

string $query
array $bindings
bool $useReadPdo

Return Value

array

Generator cursor(string $query, array $bindings = [], bool $useReadPdo = true)

Run a select statement against the database and returns a generator.

Parameters

string $query
array $bindings
bool $useReadPdo

Return Value

Generator

protected PDOStatement prepared(PDOStatement $statement)

Configure the PDO prepared statement.

Parameters

PDOStatement $statement

Return Value

PDOStatement

protected PDO getPdoForSelect(bool $useReadPdo = true)

Get the PDO connection to use for a select query.

Parameters

bool $useReadPdo

Return Value

PDO

bool insert(string $query, array $bindings = [])

Run an insert statement against the database.

Parameters

string $query
array $bindings

Return Value

bool

int update(string $query, array $bindings = [])

Run an update statement against the database.

Parameters

string $query
array $bindings

Return Value

int

int delete(string $query, array $bindings = [])

Run a delete statement against the database.

Parameters

string $query
array $bindings

Return Value

int

bool statement(string $query, array $bindings = [])

Execute an SQL statement and return the boolean result.

Parameters

string $query
array $bindings

Return Value

bool

int affectingStatement(string $query, array $bindings = [])

Run an SQL statement and get the number of rows affected.

Parameters

string $query
array $bindings

Return Value

int

bool unprepared(string $query)

Run a raw, unprepared query against the PDO connection.

Parameters

string $query

Return Value

bool

array pretend(Closure $callback)

Execute the given callback in "dry run" mode.

Parameters

Closure $callback

Return Value

array

protected array withFreshQueryLog(Closure $callback)

Execute the given callback in "dry run" mode.

Parameters

Closure $callback

Return Value

array

void bindValues(PDOStatement $statement, array $bindings)

Bind values to their parameters in the given statement.

Parameters

PDOStatement $statement
array $bindings

Return Value

void

array prepareBindings(array $bindings)

Prepare the query bindings for execution.

Parameters

array $bindings

Return Value

array

protected mixed run(string $query, array $bindings, Closure $callback)

Run a SQL statement and log its execution context.

Parameters

string $query
array $bindings
Closure $callback

Return Value

mixed

Exceptions

QueryException

protected mixed runQueryCallback(string $query, array $bindings, Closure $callback)

Run a SQL statement.

Parameters

string $query
array $bindings
Closure $callback

Return Value

mixed

Exceptions

QueryException

void logQuery(string $query, array $bindings, float|null $time = null)

Log a query in the connection's query log.

Parameters

string $query
array $bindings
float|null $time

Return Value

void

protected float getElapsedTime(int $start)

Get the elapsed time since a given starting point.

Parameters

int $start

Return Value

float

protected mixed handleQueryException(Exception $e, string $query, array $bindings, Closure $callback)

Handle a query exception.

Parameters

Exception $e
string $query
array $bindings
Closure $callback

Return Value

mixed

Exceptions

Exception

protected mixed tryAgainIfCausedByLostConnection(QueryException $e, string $query, array $bindings, Closure $callback)

Handle a query exception that occurred during query execution.

Parameters

QueryException $e
string $query
array $bindings
Closure $callback

Return Value

mixed

Exceptions

QueryException

void reconnect()

Reconnect to the database.

Return Value

void

Exceptions

LogicException

protected void reconnectIfMissingConnection()

Reconnect to the database if a PDO connection is missing.

Return Value

void

void disconnect()

Disconnect from the underlying PDO connection.

Return Value

void

void listen(Closure $callback)

Register a database query listener with the connection.

Parameters

Closure $callback

Return Value

void

protected array|null fireConnectionEvent(string $event)

Fire an event for this connection.

Parameters

string $event

Return Value

array|null

protected void event(mixed $event)

Fire the given event if possible.

Parameters

mixed $event

Return Value

void

Expression raw(mixed $value)

Get a new raw query expression.

Parameters

mixed $value

Return Value

Expression

void recordsHaveBeenModified(bool $value = true)

Indicate if any records have been modified.

Parameters

bool $value

Return Value

void

bool isDoctrineAvailable()

Is Doctrine available?

Return Value

bool

Column getDoctrineColumn(string $table, string $column)

Get a Doctrine Schema Column instance.

Parameters

string $table
string $column

Return Value

Column

AbstractSchemaManager getDoctrineSchemaManager()

Get the Doctrine DBAL schema manager for the connection.

Return Value

AbstractSchemaManager

Connection getDoctrineConnection()

Get the Doctrine DBAL database connection instance.

Return Value

Connection

PDO getPdo()

Get the current PDO connection.

Return Value

PDO

PDO getReadPdo()

Get the current PDO connection used for reading.

Return Value

PDO

$this setPdo(PDO|Closure|null $pdo)

Set the PDO connection.

Parameters

PDO|Closure|null $pdo

Return Value

$this

$this setReadPdo(PDO|Closure|null $pdo)

Set the PDO connection used for reading.

Parameters

PDO|Closure|null $pdo

Return Value

$this

$this setReconnector(callable $reconnector)

Set the reconnect instance on the connection.

Parameters

callable $reconnector

Return Value

$this

string|null getName()

Get the database connection name.

Return Value

string|null

mixed getConfig(string|null $option = null)

Get an option from the configuration options.

Parameters

string|null $option

Return Value

mixed

string getDriverName()

Get the PDO driver name.

Return Value

string

Grammar getQueryGrammar()

Get the query grammar used by the connection.

Return Value

Grammar

$this setQueryGrammar(Grammar $grammar)

Set the query grammar used by the connection.

Parameters

Grammar $grammar

Return Value

$this

Grammar getSchemaGrammar()

Get the schema grammar used by the connection.

Return Value

Grammar

$this setSchemaGrammar(Grammar $grammar)

Set the schema grammar used by the connection.

Parameters

Grammar $grammar

Return Value

$this

Processor getPostProcessor()

Get the query post processor used by the connection.

Return Value

Processor

$this setPostProcessor(Processor $processor)

Set the query post processor used by the connection.

Parameters

Processor $processor

Return Value

$this

Dispatcher getEventDispatcher()

Get the event dispatcher used by the connection.

Return Value

Dispatcher

$this setEventDispatcher(Dispatcher $events)

Set the event dispatcher instance on the connection.

Parameters

Dispatcher $events

Return Value

$this

void unsetEventDispatcher()

Unset the event dispatcher for this connection.

Return Value

void

bool pretending()

Determine if the connection in a "dry run".

Return Value

bool

array getQueryLog()

Get the connection query log.

Return Value

array

void flushQueryLog()

Clear the query log.

Return Value

void

void enableQueryLog()

Enable the query log on the connection.

Return Value

void

void disableQueryLog()

Disable the query log on the connection.

Return Value

void

bool logging()

Determine whether we're logging queries.

Return Value

bool

string getDatabaseName()

Get the name of the connected database.

Return Value

string

$this setDatabaseName(string $database)

Set the name of the connected database.

Parameters

string $database

Return Value

$this

string getTablePrefix()

Get the table prefix for the connection.

Return Value

string

$this setTablePrefix(string $prefix)

Set the table prefix in use by the connection.

Parameters

string $prefix

Return Value

$this

Grammar withTablePrefix(Grammar $grammar)

Set the table prefix and return the grammar.

Parameters

Grammar $grammar

Return Value

Grammar

static void resolverFor(string $driver, Closure $callback)

Register a connection resolver.

Parameters

string $driver
Closure $callback

Return Value

void

static mixed getResolver(string $driver)

Get the connection resolver for the given driver.

Parameters

string $driver

Return Value

mixed

protected Driver getDoctrineDriver()

Get the Doctrine DBAL driver.

Return Value

Driver

© Taylor Otwell
Licensed under the MIT License.
Laravel is a trademark of Taylor Otwell.
https://laravel.com/api/5.7/Illuminate/Database/PostgresConnection.html