La clase Pdo\Pgsql

(PHP 8 >= 8.4.0)

Introducción

Una subclase de PDO que representa una conexión utilizando el controlador PDO PostgreSQL.

Este controlador admite un analizador de consultas SQL dedicado para el dialecto PostgreSQL. Puede gestionar los siguientes elementos:

  • Los literales de string simples y dobles, con el duplicado como mecanismo de escape
  • Los literales de string "escapados" de estilo C
  • Los literales de string en dólares
  • Dos guiones y los comentarios de estilo C (no anidados)
  • El soporte de ?? como secuencia de escape para el operador ?.

Sinopsis de la Clase

namespace Pdo;
class Pgsql extends PDO {
/* Constantes heredadas */
public const int PDO::PARAM_NULL;
public const int PDO::PARAM_BOOL = 5;
public const int PDO::PARAM_INT = 1;
public const int PDO::PARAM_STR = 2;
public const int PDO::PARAM_LOB = 3;
public const int PDO::PARAM_STMT = 4;
public const int PDO::PARAM_STR_NATL;
public const int PDO::PARAM_STR_CHAR;
public const int PDO::PARAM_EVT_FREE;
public const int PDO::FETCH_DEFAULT;
public const int PDO::FETCH_LAZY;
public const int PDO::FETCH_ASSOC;
public const int PDO::FETCH_NUM;
public const int PDO::FETCH_BOTH;
public const int PDO::FETCH_OBJ;
public const int PDO::FETCH_BOUND;
public const int PDO::FETCH_COLUMN;
public const int PDO::FETCH_CLASS;
public const int PDO::FETCH_INTO;
public const int PDO::FETCH_FUNC;
public const int PDO::FETCH_GROUP;
public const int PDO::FETCH_UNIQUE;
public const int PDO::FETCH_KEY_PAIR;
public const int PDO::FETCH_NAMED;
public const int PDO::ATTR_PREFETCH;
public const int PDO::ATTR_TIMEOUT;
public const int PDO::ATTR_ERRMODE;
public const int PDO::ATTR_CASE;
public const int PDO::ATTR_CURSOR;
public const int PDO::ERRMODE_SILENT;
public const int PDO::CASE_NATURAL;
public const int PDO::CASE_LOWER;
public const int PDO::CASE_UPPER;
public const int PDO::NULL_NATURAL;
public const int PDO::NULL_TO_STRING;
public const string PDO::ERR_NONE;
public const int PDO::FETCH_ORI_NEXT;
public const int PDO::FETCH_ORI_LAST;
public const int PDO::FETCH_ORI_ABS;
public const int PDO::FETCH_ORI_REL;
public const int PDO::CURSOR_FWDONLY;
public const int PDO::CURSOR_SCROLL;
/* Constantes */
public const int TRANSACTION_IDLE;
public const int TRANSACTION_ACTIVE;
public const int TRANSACTION_INTRANS;
public const int TRANSACTION_INERROR;
public const int TRANSACTION_UNKNOWN;
/* Métodos */
public function copyFromArray(
    string $tableName,
    array|Traversable $rows,
    string $separator = "\t",
    string $nullAs = "\\\\N",
    ?string $fields = null
): bool
public function copyFromFile(
    string $tableName,
    string $filename,
    string $separator = "\t",
    string $nullAs = "\\\\N",
    ?string $fields = null
): bool
public function copyToArray(
    string $tableName,
    string $separator = "\t",
    string $nullAs = "\\\\N",
    ?string $fields = null
): array|false
public function copyToFile(
    string $tableName,
    string $filename,
    string $separator = "\t",
    string $nullAs = "\\\\N",
    ?string $fields = null
): bool
public function escapeIdentifier(string $input): string
public function getNotify(int $fetchMode = PDO::FETCH_DEFAULT, int $timeoutMilliseconds = 0): array|false
public function getPid(): int
public function lobCreate(): string|false
public function lobOpen(string $oid, string $mode = "rb"): resource|false
public function lobUnlink(string $oid): bool
public function setNoticeCallback(?callable $callback): void
/* Métodos heredados */
public function PDO::__construct(
    string $dsn,
    ?string $username = null,
    #[\SensitiveParameter]?string $password = null,
    ?array $options = null
)
public function PDO::beginTransaction(): bool
public function PDO::commit(): bool
public static function PDO::connect(
    string $dsn,
    ?string $username = null,
    #[\SensitiveParameter]?string $password = null,
    ?array $options = null
): static
public function PDO::errorCode(): ?string
public function PDO::errorInfo(): array
public function PDO::exec(string $statement): int|false
public function PDO::getAttribute(int $attribute): mixed
public static function PDO::getAvailableDrivers(): array
public function PDO::inTransaction(): bool
public function PDO::lastInsertId(?string $name = null): string|false
public function PDO::prepare(string $query, array $options = []): PDOStatement|false
public function PDO::query(string $query, ?int $fetchMode = null): PDOStatement|false
public function PDO::query(string $query, ?int $fetchMode = PDO::FETCH_COLUMN, int $colno): PDOStatement|false
public function PDO::query(
    string $query,
    ?int $fetchMode = PDO::FETCH_CLASS,
    string $classname,
    array $constructorArgs
): PDOStatement|false
public function PDO::query(string $query, ?int $fetchMode = PDO::FETCH_INTO, object $object): PDOStatement|false
public function PDO::quote(string $string, int $type = PDO::PARAM_STR): string|false
public function PDO::rollBack(): bool
public function PDO::setAttribute(int $attribute, mixed $value): bool
}

Constantes predefinidas

Pdo\Pgsql::ATTR_DISABLE_PREPARES
Envía la consulta y los argumentos al servidor en una sola vez, evitando la necesidad de crear una sentencia preparada nombrada por separado. Si la consulta va a ser ejecutada una sola vez, esto puede reducir la latencia evitando un viaje de ida y vuelta innecesario al servidor.
Pdo\Pgsql::ATTR_RESULT_MEMORY_SIZE
Devuelve la cantidad de memoria, en bytes, asignada a la instancia de PDOStatement del resultado de la consulta especificada, o null si no existe ningún resultado antes de la ejecución de la consulta.
PDO::ATTR_PREFETCH
A partir de PHP 8.5.0, asignar el valor 0 a este atributo activa la obtención perezosa (fila a fila): las filas se recuperan del servidor de una en una a medida que se obtienen, en lugar de almacenar en memoria todo el conjunto de resultados antes de la primera llamada a PDOStatement::fetch(). Esto reduce el uso de memoria para conjuntos de resultados grandes. Cualquier otro valor mantiene el comportamiento almacenado en búfer por omisión. Puede establecerse por conexión con PDO::setAttribute(), o por sentencia mediante las opciones de controlador de PDO::prepare() o PDO::query().
Precaución

En modo perezoso, una conexión sólo puede tener una sentencia activa a la vez. Ejecutar otra sentencia descarta de forma silenciosa las filas no leídas de la anterior; no se genera ningún error.

Pdo\Pgsql::TRANSACTION_IDLE
Advertencia

Esta constante no tiene efecto y está obsoleta a partir de PHP 8.5.0.

Pdo\Pgsql::TRANSACTION_ACTIVE
Advertencia

Esta constante no tiene efecto y está obsoleta a partir de PHP 8.5.0.

Pdo\Pgsql::TRANSACTION_INTRANS
Advertencia

Esta constante no tiene efecto y está obsoleta a partir de PHP 8.5.0.

Pdo\Pgsql::TRANSACTION_INERROR
Advertencia

Esta constante no tiene efecto y está obsoleta a partir de PHP 8.5.0.

Pdo\Pgsql::TRANSACTION_UNKNOWN
Advertencia

Esta constante no tiene efecto y está obsoleta a partir de PHP 8.5.0.

Tabla de contenidos