3.2.4 Properties for the Connection to the Database
Note
sql.properties for Command Line Tools
Be aware that the command line tools that access the database directly (like cm unlockcontentserver or cm schemaaccess)
still need the sql.properties file in their properties/corem directory,
as the tools are not (yet) configurable via Spring.
sql.pool.check-connection-max-threads
Type
java.lang.Integer
Default
-1
Description
The maximum number of threads for checking database connections, or -1
for twice the number of sql.pool.max-connections.
sql.pool.check-timeout
Type
java.lang.Integer
Default
5
Description
Maximum time in seconds the check is allowed to take.
sql.pool.log-queries
Type
java.lang.Boolean
Default
false
Description
If the property is "true", messages concerning queries
(search of content item versions) will be generated.
sql.pool.log-query-statements
Type
java.lang.Boolean
Default
false
Description
If the property is "true", SQL statements concerning queries
will be written to the log.
sql.pool.log-schedule-messages
Type
java.lang.Boolean
Default
false
Description
If the property is "true", write messages of the connection
pool to the log file.
sql.pool.log-verbose
Type
java.lang.Boolean
Default
false
Description
If the property is "true", more debug messages will be
generated.
sql.pool.max-connections
Type
java.lang.Integer
Default
4
Description
Maximum number of connections to the database.
sql.pool.max-queries
Type
java.lang.Integer
Default
4
Description
Maximum number of connections used for queries, that is, the maximum
number of parallel queries.
sql.pool.min-connections
Type
java.lang.Integer
Default
2
Description
Minimum number of connections to the database.
sql.pool.open-timeout
Type
java.lang.Integer
Default
30
Description
Maximum time in seconds the opening of connections is allowed to take.
sql.pool.reaper-interval
Type
java.lang.Long
Default
120
Description
The interval in seconds in which it is checked if connections can be
closed.
sql.pool.reaper-timeout
Type
java.lang.Long
Default
180
Description
The time in seconds a connection must be idle before it will be
closed.
sql.pool.scheduler-pull-up-ratio
Type
java.lang.Double
Default
0.1
Description
Ratio of non-exclusive elements to pull up in scheduler queue in case
of a potential deadlock (in the range ]0.0,1.0]).
sql.pool.scheduler-watch-interval
Type
java.time.Duration
Default
10s
Description
The interval between two checks for potential scheduler deadlocks.
sql.pool.scheduler-watchdog-enabled
Type
java.lang.Boolean
Default
true
Description
Flag to enable scheduler watchdog.
sql.pool.validator-interval
Type
java.lang.Long
Default
300
Description
The interval in seconds in which existing connections will be checked
for function.
sql.pool.validator-timeout
Type
java.lang.Long
Default
120
Description
The time in seconds a connection must be idle before it will be
checked for function.
sql.schema.alter-table
Type
java.lang.Boolean
Default
false
Description
Setting the property to "true", causes the Content Server to
automatically add database columns for newly defined content type
properties and to fix wrong widths of String properties. This will
only work if you set sql.schema.checkColumns to "true".
sql.schema.check-columns
Type
java.lang.Boolean
Default
true
Description
Setting the property sql.schema.checkColumns to "true",
causes the Content Server to compare the content type definition with
the existing database schema for missing columns and matching widths
of String properties. If there are differences, it depends on the
setting of sql.schema.alterTables if the Content Server refuses to
start ("false") or if it adds and changes the columns
automatically ("true"). Checking the tables consumes a
considerable amount of time, so that the server starts up more slowly.
If sql.schema.checkColumns is set to "false", the Content
Server will not check the columns. If there are differences, you will
run into Content Server exceptions later on.
sql.schema.create-drop-indexes
Type
java.lang.Boolean
Default
false
Description
Setting the property to "true", causes the Content Server to
automatically create and drop indexes on content type properties,
according to the Index attribute in the doctypes.xml. This flag only
affects existing columns. For newly added columns and tables, an index
is always created if the Index attribute is set.
sql.schema.create-table
Type
java.lang.Boolean
Default
true
Description
The Content Server always checks if tables for the content types are
missing. Setting the property to "true", causes the Content
Server to create missing tables for new content types. If the setting
is "false" and there are missing tables the Content Server
refuses to start
sql.store.collector.blob-preservation-period
Type
java.lang.Integer
Default
86400
Description
The time in seconds, a blob, that has no reference to a resource, will
be preserved.
sql.store.collector.delay
Type
java.lang.Integer
Default
86400
Description
The delay between two collections in seconds.
sql.store.collector.initial-delay
Type
java.lang.Integer
Default
600
Description
The delay in seconds before starting the first collection.
sql.store.collector.start-time
Type
java.lang.Integer
Default
-1
Description
The time of the day, in seconds from 0:00h in the default time zone,
when the collector should run every day. If set to -1, it does not run
at a fixed time. The initial delay is always enforced as a minimal
delay after server startup.
sql.store.collector.suspend
Type
java.lang.Boolean
Default
false
Description
If set to true, unused blobs will not be deleted in the blob store.
This can be used during backup if you have a non-transactional blob
store. Alternatively, the blobcollector actuator endpoint must be used
to suspend deletion of unused blobs at runtime before starting a
backup of a non-transactional blob store.
sql.store.convert
Type
java.util.Map<java.lang.String,java.lang.String>
Default
Description
Converters which are used to convert custom XML formats which have
been defined for the obsolete coremedia-sgmltext.dtd.
The editor in versions before SCI 4.1.38 created XML text, which was
not valid according to the coremedia-richtext-1.0.dtd. If you have
created content with versions before SCI 4.1.38, set the property to
"true" to correct these errors (CoreMedia recommends to
always use "true").
sql.store.driver
Type
java.lang.String
Default
Description
The JDBC driver used to connect to the database.
Example:oracle.jdbc.driver.OracleDriver
sql.store.folder-index-timeout
Type
java.time.Duration
Default
1m
Description
Maximum time to wait for an enabled folder index to become up-to-date
when a content query with BELOW-clause is executed. Folder index
updates may take some time, if large folders were moved. If the
maximum time has been reached, the query will be executed as if the
folder index was offline. Set to negative value for unlimited.
sql.store.isolation
Type
java.lang.String
Default
Description
Define the transaction isolation level. An empty value uses the driver
default setting.
sql.store.log-driver-messages
Type
java.lang.Boolean
Default
false
Description
Write messages of the JDBC driver to the logs
hox.corem.server.sql.SQLStore and
com.coremedia.cotopaxi.server.DatabaseProperties.
sql.store.login-user-name
Type
java.lang.String
Default
Description
The user name for a database login. If not set, the value of
"sql.store.user" will be used to log in to the database. In
some cases the login username differs from the actual user, e.g. with
PostgreSQL on Azure a postfix on the user name is necessary to log in.
Example:
sql.store.login-user-name=username@domain
sql.store.user=username
sql.store.password
Type
java.lang.String
Default
Description
The password of the user at the database.
sql.store.prepared-statement-cache-size
Type
java.lang.Integer
Default
-1
Description
If set, denotes the maximum number of prepared statements that is kept
open per database connection.
sql.store.replace-substitute
Type
java.lang.Boolean
Default
false
Description
There are problems with zOS DB2 databases to store characters that are
not in the databases character set. Such characters are converted to
the character with the code "0x001A" upon read. If the
property is set to "true", this character will be replaced
with the character defined in sql.store.substituteCharacter, thereby
avoiding the replacement character that is illegal in XML texts.
sql.store.sgml-cache-interval-seconds
Type
java.lang.Integer
Default
0
Description
Seconds between cache statistics log entries to facility
cap.server.store.sgmlcache
sql.store.sgml-cache-size-bytes
Type
java.lang.Long
Default
10000000
Description
Total size of XML objects cached in memory in bytes.
sql.store.substitute-character
Type
java.lang.String
Default
?
Description
The character, with which "0x001A" should be replaced.
sql.store.url
Type
java.lang.String
Default
Description
The URL of the database to connect to.
Example:jdbc:oracle:thin@HostName:Port:CM Replace HostName
and Port with the appropriate values of the database host. Don't
replace HostName with "localhost", this may cause problems
with some JDBC drivers.
sql.store.use-ctes-for-below-queries
Type
java.lang.Boolean
Default
true
Description
Whether to use recursive common table expressions (aka "WITH
RECURSIVE") in SQL statements for content queries with
BELOW-clauses (aka descendantOf clauses) to find contents below some
folder, if the folder index is not online.
sql.store.user
Type
java.lang.String
Default
Description
The user name at the database, which must match the schema.