ZomboDB provides a number of configuration settings that affect how it operates.
The below settings can only be set in postgresql.conf
and require a Postgres configuration reload (or server restart)
to be changed.
Type: string
Default: null
Defines the default URL for your Elasticsearch cluster so you can elite setting it on every index during CREATE INDEX
.
The value used must end with a forward slash (/
).
Example: zdb.default_elasticsearch_url = 'http://es.cluster.ip:9200/'
Type: integer
Default: 0
Defines the number of replicas all new indices should have. Changing this value does not propagate to existing indices.
The below settings may be set in postgresql.conf
, but they can also be changed per session/transaction using Postgres
SET key TO value
command;
Type: integer
Default: 2500
Range: [-1, INT_MAX]
ZomboDB needs to provide Postgres with an estimate of the number of rows Elasticsearch will return for any given query.
2500 is a sensible default estimate that generally convinces Postgres to use an IndexScan plan. Setting this to -1
will cause ZomboDB to execute an Elasticsearch _count
request for every query to return the exact number.
Also note that you can change this parameter at query-time (see dsl.row_estimate()
).
Type: boolean
Default: false
ZomboDB applies MVCC visibility rules to all queries and aggregate functions. Setting this to true instructs ZomboDB to
not do that, which means aggregate functions (such as zdb.terms()
) will see dead rows, aborted rows, and in-flight
rows. Generally, this should only be used for debugging.
Type: enum
Default: DEBUG1
Possible Values: DEBUG2, DEBUG5, DEBUG4, DEBUG3, DEBUG2, DEBUG1, INFO, NOTICE, WARNING, LOG
The Postgres log level ZomboDB sends all of its log messages.
Type: boolean
Default: false
Indicates if you have the ZomboDB Search Accelerator installed on your backing Elasticsearch cluster.
If you do, ZomboDB is able to highly optimize certain queries, especially those that perform cross-index joins.