Class Postgres
Класс Postgres
Константы
-
stringFEATURE_CTE'cte'
Поддержка выражений общих таблиц (с клаузой).
-
stringFEATURE_DISABLE_CONSTRAINT_WITHOUT_TRANSACTION'disable-constraint-without-transaction'
Поддержка отключения ограничений без транзакции.
-
stringFEATURE_JSON'json'
Поддержка нативного типа данных JSON.
-
stringFEATURE_QUOTE'quote'
Поддержка PDO::quote().
-
stringFEATURE_SAVEPOINT'savepoint'
Поддержка сохранения точки транзакции.
-
stringFEATURE_TRUNCATE_WITH_CONSTRAINTS'truncate-with-constraints'
Поддержка усечения с прикрепленными внешними ключами.
-
stringFEATURE_WINDOW'window'
Поддержка оконных функций (все или частичные клаузы).
-
int|nullMAX_ALIAS_LENGTH63
-
array<int>RETRY_ERROR_CODES[]
Резюме свойств
- $_autoQuoting protected
boolУказывает, выполняет ли драйвер автоматическую цитирование идентификаторов для всех запросов
- $_baseConfig protected
array<string, mixed>Базовые параметры конфигурации для драйвера Postgres
- $_config protected
array<string, mixed>Данные конфигурации.
- $_connection protected
PDOЭкземпляр PDO.
- $_endQuote protected
stringСтрока, используемая для завершения цитирования идентификатора базы данных для обеспечения безопасности
- $_schemaDialect protected
Cake\Database\Schema\PostgresSchemaDialect|nullКласс диалекта схемы для этого драйвера
- $_startQuote protected
stringСтрока, используемая для начала цитирования идентификатора базы данных для обеспечения безопасности
- $_version protected
string|nullВерсия сервера
- $connectRetries protected
intПоследнее количество попыток повторной попытки подключения.
Резюме методов
-
__construct() public
Конструктор
-
__debugInfo() public
Возвращает массив, который можно использовать для описания внутреннего состояния этого объекта.
-
__destruct() public
Деструктор
-
_connect() protected
Устанавливает подключение к серверу базы данных
-
_deleteQueryTranslator() protected
Применяет шаги трансляции к запросам удаления.
-
_expressionTranslators() protected
Возвращает ассоциативный массив методов, которые преобразуют объекты Expression для соответствия конкретному диалекту SQL. Ключи — имена классов, значения — метод в этом классе.
-
_insertQueryTranslator() protected
Применяет шаги трансляции к запросам вставки.
-
_removeAliasesFromConditions() protected
Удаляет псевдонимы из
WHEREпредложения запроса. -
_selectQueryTranslator() protected
Применяет шаги трансляции к запросам выбора.
-
_transformDistinct() protected
Возвращает переданный запрос после переработки предложения DISTINCT, так что драйверы, не поддерживающие часть «ON», могут указать фактический способ выполнения.
-
_transformFunctionExpression() protected
Принимает FunctionExpression и изменяет его так, чтобы он соответствовал этому диалекту SQL.
-
_transformIdentifierExpression() protected
Преобразует выражение идентификатора в формат PostgreSQL.
-
_transformStringExpression() protected
Преобразует строковое выражение в формат PostgreSQL.
-
_updateQueryTranslator() protected
Применяет шаги трансляции к запросам обновления.
-
beginTransaction() public
Начинает транзакцию.
-
commitTransaction() public
Подтверждает транзакцию.
-
compileQuery() public
Преобразует переданный запрос в диалект этого драйвера и возвращает экземпляр преобразованного запроса и полную скомпилированную строку SQL.
-
connect() public
Устанавливает подключение к серверу базы данных
-
disableAutoQuoting() public
Отключает автоматическое приведение идентификаторов в запросах к кавычкам.
-
disableForeignKeySQL() public
Возвращает SQL для отключения внешних ключей.
-
disconnect() public
Отключается от сервера базы данных.
-
enableAutoQuoting() public
Устанавливает, должен ли этот драйвер автоматически приводить идентификаторы в запросах к кавычкам.
-
enableForeignKeySQL() public
Возвращает SQL для включения внешних ключей.
-
enabled() public
Возвращает, может ли php использовать этот драйвер для подключения к базе данных
-
getConnectRetries() public
Возвращает количество попыток повторного подключения.
-
getConnection() public
Получить внутренний экземпляр соединения PDO.
-
getMaxAliasLength() public
Возвращает максимальную длину псевдонима, разрешенную. Она может отличаться от максимальной длины идентификатора столбцов.
-
inTransaction() public
Возвращает, активна ли транзакция для соединения.
-
isAutoQuotingEnabled() public
Возвращает, должен ли этот драйвер автоматически приводить идентификаторы в запросах к кавычкам.
-
isConnected() public
Проверяет, подключен ли драйвер.
-
lastInsertId() public
Возвращает последний сгенерированный идентификатор для таблицы или последовательности в базе данных.
-
newCompiler() public
Возвращает экземпляр QueryCompiler.
-
newTableSchema() public
Создает новую TableSchema.
-
prepare() public
Подготавливает sql-запрос для выполнения.
-
queryTranslator() public
Возвращает вызываемую функцию, которая будет использоваться для преобразования переданного объекта Query. Эта функция, в свою очередь, вернёт экземпляр объекта Query, преобразованного для соответствия особенностям используемого диалекта SQL.
-
quote() public
Возвращает значение в безопасном представлении для использования в строке запроса
-
quoteIdentifier() public
Приводит имя базы данных (имя столбца, имя таблицы и т. д.) к кавычкам, чтобы безопасно использовать его в запросах, не рискуя использовать зарезервированные слова
-
releaseSavePointSQL() public
Возвращает фрагмент SQL для освобождения ранее созданной точки сохранения
-
rollbackSavePointSQL() public
Возвращает фрагмент SQL для отката ранее созданной точки сохранения
-
rollbackTransaction() public
Откатывает транзакцию.
-
savePointSQL() public
Возвращает фрагмент SQL для создания новой точки сохранения транзакции
-
schema() public
Возвращает имя схемы, которое используется.
-
schemaDialect() public
Получить диалект схемы.
-
schemaValue() public
Экранирует значения для использования в определениях схемы.
-
setConnection() public
Установить внутренний экземпляр соединения PDO.
-
setEncoding() public
Устанавливает кодировку подключения
-
setSchema() public
Устанавливает схему по умолчанию для подключения, если в запросе определено отношение, но не указана полная квалификация, PostgreSQL обратится к схеме по умолчанию.
-
supports() public
Возвращает, поддерживает ли драйвер данную функцию.
-
supportsCTEs() public deprecated
Возвращает true, если сервер поддерживает выражения с общими таблицами.
-
supportsDynamicConstraints() public
Возвращает, поддерживает ли драйвер добавление или удаление ограничений к уже созданным таблицам.
-
supportsQuoting() public deprecated
Проверяет, поддерживает ли драйвер цитирование, так как PDO_ODBC его не поддерживает.
-
supportsSavePoints() public
Возвращает, поддерживает ли данный драйвер точки сохранения для вложенных транзакций.
-
version() public
Возвращает версию подключенного сервера.
Подробное описание методов
__construct() public
__construct(array<string, mixed> $config = [])
Конструктор
Параметры
-
array<string, mixed>$config optional Настройка драйвера.
Исключения
InvalidArgumentException__debugInfo() public
__debugInfo(): array<string, mixed>
Возвращает массив, который можно использовать для описания внутреннего состояния этого объекта.
Возвращает
array<string, mixed>__destruct() public
__destruct()
Деструктор
_connect() protected
_connect(string $dsn, array<string, mixed> $config): bool
Устанавливает соединение с сервером базы данных
Параметры
-
string$dsn Драйвер-специфический PDO-DSN
-
array<string, mixed>$config Настройка, используемая для создания соединения
Возвращает
bool_deleteQueryTranslator() protected
_deleteQueryTranslator(Cake\Database\Query $query): Cake\Database\Query
Применяет шаги трансляции к запросам удаления.
Удаляет псевдонимы в условиях запросов удаления, так как большинство диалектов баз данных не поддерживают псевдонимы в запросах удаления. Также удаляются псевдонимы в именах таблиц, так как они часто тоже не работают.
Мы намеренно не поддерживаем удаления с объединениями, так как они имеют еще более слабую поддержку.
Параметры
-
Cake\Database\Query$query Запрос для перевода
Возвращает
Cake\Database\Query_expressionTranslators() protected
_expressionTranslators(): array<string>
Возвращает ассоциативный массив методов, которые преобразуют объекты Expression для соответствия конкретному диалекту SQL. Ключи — имена классов, значения — метод в этом классе.
Возвращает
array<string>_insertQueryTranslator() protected
_insertQueryTranslator(Cake\Database\Query $query): Cake\Database\Query
Применяет шаги трансляции к запросам вставки.
Параметры
-
Cake\Database\Query$query
Возвращает
Cake\Database\Query_removeAliasesFromConditions() protected
_removeAliasesFromConditions(Cake\Database\Query $query): Cake\Database\Query
Удаляет псевдонимы из условия WHERE запроса.
Параметры
-
Cake\Database\Query$query Запрос для обработки.
Возвращает
Cake\Database\QueryИсключения
RuntimeExceptionВ случае, если обработанный запрос содержит объединения, так как удаление псевдонимов из условий может нарушить ссылки на связанные таблицы.
_selectQueryTranslator() protected
_selectQueryTranslator(Cake\Database\Query $query): Cake\Database\Query
Применяет шаги трансляции к запросам выбора.
Параметры
-
Cake\Database\Query$query Запрос для перевода
Возвращает
Cake\Database\Query_transformDistinct() protected
_transformDistinct(Cake\Database\Query $query): Cake\Database\Query
Возвращает переданный запрос после переписывания условия DISTINCT, чтобы драйверы, которые не поддерживают часть «ON», могли предоставить фактический способ её выполнения.
Параметры
-
Cake\Database\Query$query
Возвращает
Cake\Database\Query_transformFunctionExpression() protected
_transformFunctionExpression(Cake\Database\Expression\FunctionExpression $expression): void
Получает FunctionExpression и изменяет его так, чтобы он соответствовал данному диалекту SQL.
Параметры
-
Cake\Database\Expression\FunctionExpression$expression Функциональное выражение для преобразования в формат SQL PostgreSQL.
Возвращает
void_transformIdentifierExpression() protected
_transformIdentifierExpression(Cake\Database\Expression\IdentifierExpression $expression): void
Преобразует выражение идентификатора в формат PostgreSQL.
Параметры
-
Cake\Database\Expression\IdentifierExpression$expression Выражение для преобразования.
Возвращает
void_transformStringExpression() protected
_transformStringExpression(Cake\Database\Expression\StringExpression $expression): void
Преобразует строковое выражение в формат PostgreSQL.
Параметры
-
Cake\Database\Expression\StringExpression$expression Строковое выражение для преобразования.
Возвращает
void_updateQueryTranslator() protected
_updateQueryTranslator(Cake\Database\Query $query): Cake\Database\Query
Применяет шаги трансляции к запросам обновления.
Удаляет псевдонимы в условиях запросов обновления, так как не все диалекты баз данных поддерживают псевдонимы в запросах обновления.
Как и в случае с запросами удаления, объединения в настоящее время не поддерживаются для запросов обновления.
Параметры
-
Cake\Database\Query$query Запрос для перевода
Возвращает
Cake\Database\QuerybeginTransaction() public
beginTransaction(): bool
Начинает транзакцию.
Возвращает
boolcommitTransaction() public
commitTransaction(): bool
Подтверждает транзакцию.
Возвращает
boolcompileQuery() public
compileQuery(Cake\Database\Query $query, Cake\Database\ValueBinder $binder): array
Преобразует переданный запрос в диалект данного драйвера и возвращает экземпляр преобразованного запроса и полную скомпилированную строку SQL.
Параметры
-
Cake\Database\Query$query -
Cake\Database\ValueBinder$binder
Возвращает
arrayconnect() public
connect(): bool
Устанавливает соединение с сервером базы данных
Возвращает
booldisableAutoQuoting() public
disableAutoQuoting(): $this
Отключает автоматическое цитирование идентификаторов в запросах.
Возвращает
$thisdisableForeignKeySQL() public
disableForeignKeySQL(): string
Получить SQL для отключения внешних ключей.
Возвращает
stringdisconnect() public
disconnect(): void
Отключается от сервера базы данных.
Возвращает
voidenableAutoQuoting() public
enableAutoQuoting(bool $enable = true): $this
Устанавливает, должен ли этот драйвер автоматически цитировать идентификаторы в запросах.
Параметры
-
bool$enable optional
Возвращает
$thisenableForeignKeySQL() public
enableForeignKeySQL(): string
Получить SQL для включения внешних ключей.
Возвращает
stringenabled() public
enabled(): bool
Возвращает, может ли php использовать этот драйвер для подключения к базе данных
Возвращает
boolgetConnectRetries() public
getConnectRetries(): int
Возвращает количество попыток повторного подключения.
Returns
intgetConnection() public
getConnection(): PDO
Получает внутренний экземпляр подключения PDO.
Returns
PDOgetMaxAliasLength() public
getMaxAliasLength(): int|null
Возвращает максимально допустимую длину псевдонима. Она может отличаться от максимальной длины идентификатора для столбцов.
Returns
int|nullinTransaction() public
inTransaction(): bool
Возвращает, активна ли транзакция для подключения.
Returns
boolisAutoQuotingEnabled() public
isAutoQuotingEnabled(): bool
Возвращает, должен ли этот драйвер автоматически заключать идентификаторы в кавычки в запросах.
Returns
boolisConnected() public
isConnected(): bool
Проверяет, подключен ли драйвер.
Returns
boollastInsertId() public
lastInsertId(string|null $table = null, string|null $column = null): string|int
Возвращает последний сгенерированный идентификатор для таблицы или последовательности в базе данных.
Parameters
-
string|null$table optional -
string|null$column optional
Returns
string|intnewCompiler() public
newCompiler(): Cake\Database\PostgresCompiler
Возвращает экземпляр QueryCompiler.
Returns
Cake\Database\PostgresCompilernewTableSchema() public
newTableSchema(string $table, array $columns = []): Cake\Database\Schema\TableSchema
Создает новый TableSchema.
Parameters
-
string$table -
array$columns optional
Returns
Cake\Database\Schema\TableSchemaprepare() public
prepare(Cake\Database\Query|string $query): Cake\Database\StatementInterface
Подготавливает SQL-запрос к выполнению.
Parameters
-
Cake\Database\Query|string$query
Returns
Cake\Database\StatementInterfacequeryTranslator() public
queryTranslator(string $type): Closure
Возвращает вызываемую функцию, которая будет использоваться для преобразования переданного объекта Query. Эта функция, в свою очередь, вернет экземпляр объекта Query, который был преобразован для учета любых особенностей используемого диалекта SQL.
Parameters
-
string$type тип запроса для преобразования (select, insert, update, delete)
Returns
Closurequote() public
quote(mixed $value, int $type = PDO::PARAM_STR): string
Возвращает значение в безопасном представлении для использования в строке запроса
Parameters
-
mixed$value -
int$type optional
Returns
stringquoteIdentifier() public
quoteIdentifier(string $identifier): string
Заключает идентификатор базы данных (имя столбца, имя таблицы и т. д.) в кавычки, чтобы безопасно использовать его в запросах без риска использования зарезервированных слов
Parameters
-
string$identifier Идентификатор для заключения в кавычки.
Returns
stringreleaseSavePointSQL() public
releaseSavePointSQL(string|int $name): string
Возвращает фрагмент SQL для освобождения ранее созданной точки сохранения
Parameters
-
string|int$name имя точки сохранения
Returns
stringrollbackSavePointSQL() public
rollbackSavePointSQL(string|int $name): string
Возвращает фрагмент SQL для отката ранее созданной точки сохранения
Parameters
-
string|int$name имя точки сохранения
Returns
stringrollbackTransaction() public
rollbackTransaction(): bool
Откатывает транзакцию.
Returns
boolsavePointSQL() public
savePointSQL(string|int $name): string
Возвращает фрагмент SQL для создания новой точки сохранения транзакции
Parameters
-
string|int$name имя точки сохранения
Returns
stringschema() public
schema(): string
Возвращает используемое имя схемы.
Returns
stringschemaDialect() public
schemaDialect(): Cake\Database\Schema\SchemaDialect
Получает диалект схемы.
Используется пакетом {@link \Cake\Database\Schema} для отображения схемы и генерации схемы.
Если все таблицы, использующие этот драйвер, указывают свои собственные схемы, то это может вернуть null.
Returns
Cake\Database\Schema\SchemaDialectschemaValue() public
schemaValue(mixed $value): string
Экранирует значения для использования в определениях схемы.
Parameters
-
mixed$value
Returns
stringsetConnection() public
setConnection(object $connection): $this
Устанавливает внутренний экземпляр подключения PDO.
Parameters
-
object$connection Экземпляр PDO.
Returns
$thissetEncoding() public
setEncoding(string $encoding): void
Устанавливает кодировку соединения
Parameters
-
string$encoding Кодировка для использования.
Returns
voidsetSchema() public
setSchema(string $schema): void
Устанавливает схему по умолчанию для соединения, если какое-либо отношение, определенное в запросе, не является полностью квалифицированным, postgres будет возвращаться к поиску отношения в определенной схеме по умолчанию
Parameters
-
string$schema Имена схем для установки
search_path.
Returns
voidsupports() public
supports(string $feature): bool
Возвращает, поддерживает ли драйвер функцию.
По умолчанию true для FEATURE_QUOTE и FEATURE_SAVEPOINT.
Parameters
-
string$feature
Returns
boolsupportsCTEs() public
supportsCTEs(): bool
Возвращает true, если сервер поддерживает общие табличные выражения.
Returns
boolsupportsDynamicConstraints() public
supportsDynamicConstraints(): bool
Возвращает, поддерживает ли драйвер добавление или удаление ограничений для уже созданных таблиц.
Возвращает
boolsupportsQuoting() public
supportsQuoting(): bool
Проверяет, поддерживает ли драйвер цитирование, так как PDO_ODBC его не поддерживает.
Возвращает
boolsupportsSavePoints() public
supportsSavePoints(): bool
Возвращает, поддерживает ли этот драйвер сохранение точек для вложенных транзакций.
Возвращает
boolversion() public
version(): string
Возвращает версию подключенного сервера.
Возвращает
stringПодробное описание свойств
$_autoQuoting protected
Указывает, выполняет ли драйвер автоматическое цитирование идентификаторов для всех запросов
Тип
bool$_baseConfig protected
Основные параметры конфигурации для драйвера Postgres
Тип
array<string, mixed>$_config protected
Данные конфигурации.
Тип
array<string, mixed>$_connection protected
Экземпляр PDO.
Тип
PDO$_endQuote protected
Строка, используемая для завершения цитирования идентификаторов базы данных для повышения безопасности
Тип
string$_schemaDialect protected
Класс схемы диалекта для этого драйвера
Тип
Cake\Database\Schema\PostgresSchemaDialect|null$_startQuote protected
Строка, используемая для начала цитирования идентификаторов базы данных для повышения безопасности
Тип
string$_version protected
Версия сервера
Тип
string|null$connectRetries protected
Последнее количество попыток повторного подключения.
Тип
int
© 2005–present The Cake Software Foundation, Inc.
Licensed under the MIT License.
CakePHP is a registered trademark of Cake Software Foundation, Inc.
We are not endorsed by or affiliated with CakePHP.
https://api.cakephp.org/4.4/class-Cake.Database.Driver.Postgres.html