| Extracted from Pike v7.8 release 866 at 2016-04-05.

[Top]
Sql
Sql.pgsql

# Class Sql.pgsql

Description

  This is an interface to the PostgreSQL database server. This module is independent of any external libraries. Note that you do not need to have a PostgreSQL server running on your host to use this module: you can connect to the database over a TCP/IP socket.

  This module replaces the functionality of the older Sql.postgres and Postgres.postgres modules.

  This module supports the following features:

  - PostgreSQL network protocol version 3, authentication methods currently supported are: cleartext and MD5 (recommended).

  - Streaming queries which do not buffer the whole resultset in memory.

  - Automatic binary transfers to and from the database for most common datatypes (amongst others: integer, text and bytea types).

  - Automatic character set conversion and native wide string support. Supports UTF8/Unicode for multibyte characters, and all single-byte character sets supported by the database.

  - SQL-injection protection by allowing just one statement per query and ignoring anything after the first (unquoted) semicolon in the query.

  - COPY support for streaming up- and download.

  - Accurate error messages.

  - Automatic precompilation of complex queries (session cache).

  - Multiple simultaneous queries on the same database connection.

  - Cancelling of long running queries by force or by timeout.

  - Event driven NOTIFY.

  - SSL encrypted connections (optional or forced).

  Check the PostgreSQL documentation for further details.

Note

  Multiple simultaneous queries on the same database connection is a feature that none of the other database drivers for Pike support. So, although it's efficient, its use will make switching database drivers difficult.

See also

  Sql.Sql , Sql.postgres , http://www.postgresql.org/docs/