PostgreSQL is started by including the module name in
shared_preload_libraries. A module wishing to run a background
worker can register it by calling
- RegisterBackgroundWorker(BackgroundWorker *worker)
- from its _PG_init(). Background workers can also be started
- after the system is up and running by calling the function
- RegisterDynamicBackgroundWorker(BackgroundWorker
- *worker, BackgroundWorkerHandle **handle). Unlike
- RegisterBackgroundWorker, which can only be called from within
- the postmaster, RegisterDynamicBackgroundWorker must be
- called from a regular backend or another background worker.
+ RegisterBackgroundWorker(BackgroundWorker
+ from its _PG_init() function.
+ Background workers can also be started
+ after the system is up and running by calling
+ RegisterDynamicBackgroundWorker(BackgroundWorker
+ *
worker,
BackgroundWorkerHandle
+ RegisterBackgroundWorker, which can only be called from
+ within the postmaster process,
+ RegisterDynamicBackgroundWorker must be called
+ from a regular backend or another background worker.
-- a message can be in one or more sections
CREATE TABLE message (mid INT PRIMARY KEY, sections INT[], ...);
--- create specialized index with sigature length of 32 bytes
+-- create specialized index with signature length of 32 bytes
CREATE INDEX message_rdtree_idx ON message USING GIST (sections gist__int_ops(siglen=32));
-- select messages in section 1 OR 2 - OVERLAP operator
*/
if (!found_start_timeline)
ereport(ERROR,
- errmsg("start timeline %u not found history of timeline %u",
+ errmsg("start timeline %u not found in history of timeline %u",
starttli, endtli));
/* Terminate the list of WAL ranges. */
},
{
{"autovacuum_vacuum_insert_threshold", PGC_SIGHUP, AUTOVACUUM,
- gettext_noop("Minimum number of tuple inserts prior to vacuum, or -1 to disable insert vacuums"),
+ gettext_noop("Minimum number of tuple inserts prior to vacuum, or -1 to disable insert vacuums."),
NULL
},
&autovacuum_vac_ins_thresh,