Customize database configuration in Timescale Forge

Timescale Forge allows you to customize many TimescaleDB and PostgreSQL configuration options for each Service individually. Most configuration values for a Service are initially set in accordance with best practices given the compute and storage settings of the Service. Any time you increase or decrease the compute for a Service the most essential values are set to reflect the size of the new Service.

There are times, however, when your specific workload may require tuning some of the many available TimescaleDB and PostgreSQL parameters. By providing the ability to tune various runtime settings, Timescale Forge provides the balance and flexibility you need when running your workloads in our hosted environment.

warning

Modifications of most parameters can be applied without restarting the Timescale Forge Service. However, as when modifying the compute resources of a running Service, some settings will require that a restart be performed, resulting in some brief downtime (usually about 30 seconds).

Step 1: View service operation details

To modify configuration parameters, first select the Service that you want to modify. This will display the service details which list tabs across the top: Overview, Operations, Metrics, Logs, and Settings.

Select Settings.

Step 2: Modify basic parameters

Under the Settings tab, you can modify a limited set of the parameters that are most often modified in a TimescaleDB or PostgreSQL instance. To modify a configured value, simply click into on the value that you would like to change. This will reveal an editable field to apply your change. Clicking anywhere outside of that field will save the value to be applied.

Step 3: Apply configuration changes

Once you have modified the basic configuration parameters that you would like to change, click the Apply Changes button. For some changes, such as timescaledb.max_background_workers (pictured below), the Service needs to be restarted. Therefore, the button will read Restart and apply changes.

Regardless of whether the Service needs to be restarted or not, a confirmation dialog will be displayed which lists the parameters that will be modified. Click Confirm to apply the changes (and restart if necessary).

Configuring advanced parameters

It is also possible to configure a wide variety of Service database parameters by flipping the Show advanced parameters toggle in the upper-right corner of the Settings tab.

Once toggled, a scrollable (and searchable) list of configurable parameters will be displayed.

As with the basic database configuration parameters, any changes will be highlighted and the Apply changes (or Restart and apply changes) button will be available to click, prompting you to confirm any changes before the Service is modified.

PostgreSQL extensions

You can use PostgreSQL extensions with Timescale Forge. If you run pg_available_extensions at the command prompt, the returned list of extensions is inaccurate. To see the allowed extensions, use this command instead:

  1. SELECT pae.* FROM current_setting('extwlist.extensions') AS cs(e) CROSS JOIN regexp_split_to_table(e, ',') AS ext(allowed) JOIN pg_available_extensions AS pae ON (allowed=name) ORDER BY 1;

These are the currently supported extensions:

ExtensionDescription
bloomBloom access method - signature file based index
btree_ginSupport for indexing common datatypes in GIN
btree_gistSupport for indexing common datatypes in GiST
citextData type for case-insensitive character strings
cubeData type for multidimensional cubes
dict_intText search dictionary template for integers
dict_xsynText search dictionary template for extended synonym processing
fuzzystrmatchDetermine similarities and distance between strings
hstoreData type for storing sets of (key, value) pairs
intarrayFunctions, operators, and index support for 1-D arrays of integers
isnData types for international product numbering standards
loLarge Object maintenance
ltreeData type for hierarchical tree-like structures
pg_stat_statementsTrack execution statistics of all SQL statements executed
pg_trgmText similarity measurement and index searching based on trigrams
pgcryptoCryptographic functions
pgroutingpgRouting Extension
postgisPostGIS geometry and geography spatial types and functions
postgis_rasterPostGIS raster types and functions
postgis_sfcgalPostGIS SFCGAL functions
postgis_tiger_geocoderPostGIS tiger geocoder and reverse geocoder
postgis_topologyPostGIS topology spatial types and functions
promscalePromscale support functions
segdata type for representing line segments or floating-point intervals
tablefuncFunctions that manipulate whole tables, including crosstab
tcnTriggered change notifications
timescaledb_toolkitTimescaleDB Toolkit
timescaledbEnables scalable inserts and complex queries for time-series data
tsm_system_rowsTABLESAMPLE method which accepts number of rows as a limit
tsm_system_timeTABLESAMPLE method which accepts time in milliseconds as a limit
unaccentText search dictionary that removes accents
uuid-osspGenerate universally unique identifiers (UUIDs)