K.4. Additional Modules
K.4.1. Built-In Default Modules
To provide support for 1C solutions, the Postgres Pro distribution includes the following built-in modules that are enabled by default and do not require additional configuration:
fasttrun — provides a transaction-unsafe function to truncate temporary tables without growing the size of
pg_class
.fulleq — provides an additional equivalence operator for compatibility with Microsoft SQL Server.
mchar — provides additional
MCHAR
andMVARCHAR
data types for compatibility with Microsoft SQL Server.
K.4.2. dbcopies_decoding
dbcopies_decoding is a 1C module for updating database copies, which is enabled by default. To use the logical replication mechanism of this module, set the wal_level
parameter to logical
.
For more information about this module, contact 1C support.
K.4.3. plantuner
The plantuner module allows optimizing query execution plans. To configure it for 1C solutions, do the following:
Add the library name to the
shared_preload_libraries
variable in thepostgresql.conf
file.shared_preload_libraries = 'plantuner'
Set the
plantuner.fix_empty_table
parameter toon
to improve planning for recently created empty tables.plantuner.fix_empty_table = on
K.4.4. online_analyze
The online_analyze module provides a set of features that immediately update statistics after INSERT
, UPDATE
, DELETE
, SELECT INTO
, or COPY
operations for the affected tables.
To configure this module, follow the steps below.
Add the library name to the
shared_preload_libraries
variable in thepostgresql.conf
file.shared_preload_libraries = 'online_analyze'
Enable this module.
online_analyze.enable = on
Specify the minimum number of row updates before starting online analysis.
online_analyze.threshold = 50
Specify the fraction of the table size to start online analysis.
online_analyze.scale_factor = 0.1
Execute the
ANALYZE
command withoutVERBOSE
.online_analyze.verbose = off
Enable online analysis for temporary tables.
online_analyze.table_type = 'temporary'
Specify the minimum time interval between
ANALYZE
calls per table, in milliseconds.online_analyze.min_interval = 10000