Table of Contents
List of Examples
Table of Contents
The module is an implementation of the internal DB API v1 and v2 connector for PostgreSQL server. It has support for reconnecting when the connection is broken.
The following modules must be loaded before this module:
No dependencies on other Kamailio modules.
How many retries to attempt to reconnect if connection to Postgres server becomes broken.
Default value is 2 (that means three attempts to submit the query, first will trigger the connection error and two more (the value of this parameter) after resetting the connection).
Setting this variable to any value larger than zero (which is the default value) enables mainly query timeout. For backward compatibility it also enables connection timeout if connect_timeout param is not set using the con_param below. If a connection attempt or a query takes longer than this many seconds, the operation will be aborted and an error will be returned.
Note that this timeout is applied to each underlying operation (i.e. for each connection attempt), so depending on circumstances and on the value of the “retries” variable, a single query from the SIP proxy's point of view can take longer than the “timeout”.
Enable the TCP keepalive timer and set the number of seconds the connection must be idle before to start sending keepalive packets. Defaults to zero, which disables TCP keepalive packets.
Only supported on platforms which understand and support the “TCP_KEEPIDLE” socket option.
The value is used as power of two to compute the size of the lock set needed to implement the equivalent of REPLACE SQL statement.
Default value is 4 (lock set size is 16).
Control if the module should request escaping the output for bytea fields.
Default value is 1 (do the escape).
Example 1.5. Set bytea_output_escape
parameter
... modparam("db_postgres", "bytea_output_escape", 0) ...
Specifies the connection string parameters. Parameter definition must be in the format param1=value1;param2=value2. Many parameters can be set.
NOTE: See postgres connection keyword list (https://www.postgresql.org/docs/12/libpq-connect.html#LIBPQ-PARAMKEYWORDS)
Example 1.6. Set con_param
parameter
... modparam("db_postgres", "con_param", "connect_timeout=15;tcp_user_timeout=5000") ...