Extracted from Pike v7.8 release 866 at 2016-11-06.
pike.ida.liu.se
[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/