Method Sql.pgsql()->create()
- Method create
Sql.pgsql Sql.pgsql(void|string host, void|string database, void|string user, void|string pass, void|mapping(string:mixed) options)
- Description
With no arguments, this function initialises (reinitialises if a connection has been set up previously) a connection to the PostgreSQL backend. Since PostgreSQL requires a database to be selected, it will try to connect to the default database. The connection may fail however, for a variety of reasons; in this case the most likely reason is because you don't have sufficient privileges to connect to that database. So use of this particular syntax is discouraged.
- Parameter host
Should either contain
"hostname"
or"hostname:portname"
. This allows you to specify the TCP/IP port to connect to. If the parameter is0
or""
, it will try to connect to localhost, default port.- Parameter database
Specifies the database to connect to. Not specifying this is only supported if the PostgreSQL backend has a default database configured. If you do not want to connect to any live database, you can use
"template1"
.- Parameter options
Currently supports at least the following:
"reconnect" : int Set it to zero to disable automatic reconnects upon losing the connection to the database. Not setting it, or setting it to one, will cause one timed reconnect to take place. Setting it to -1 will cause the system to try and reconnect indefinitely.
"use_ssl" : int If the database supports and allows SSL connections, the session will be SSL encrypted, if not, the connection will fallback to plain unencrypted.
"force_ssl" : int If the database supports and allows SSL connections, the session will be SSL encrypted, if not, the connection will abort.
"text_query" : int Send queries to and retrieve results from the database using text instead of the, generally more efficient, default native binary method. Turning this on will allow multiple statements per query separated by semicolons.
"sync_parse" : int Set it to zero to turn synchronous parsing off for statements. Setting this to off can cause surprises because statements could be parsed before the previous statements have been executed (e.g. references to temporary tables created in the preceding statement), but it can speed up parsing due to increased parallelism.
"cache_autoprepared_statements" : int If set to zero, it disables the automatic statement prepare and cache logic; caching prepared statements can be problematic when stored procedures and tables are redefined which leave stale references in the already cached prepared statements.
"client_encoding" : string Character encoding for the client side, it defaults to using the default encoding specified by the database, e.g.
"UTF8"
or"SQL_ASCII"
."standard_conforming_strings" : string When on, backslashes in strings must not be escaped any longer, quote() automatically adjusts quoting strategy accordingly.
"escape_string_warning" : string When on, a warning is issued if a backslash (\) appears in an ordinary string literal and
"standard_conforming_strings"
is off, defaults to on.
For the numerous other options please check the PostgreSQL manual.
- Note
You need to have a database selected before using the sql-object, otherwise you'll get exceptions when you try to query it. Also notice that this function can raise exceptions if the db server doesn't respond, if the database doesn't exist or is not accessible to you.
- See also
Postgres.postgres, Sql.Sql, select_db(), http://www.postgresql.org/search/?u=%2Fdocs%2Fcurrent%2F&q=client+connection+search_path