Derby properties

The Derby properties are used for configuring the system and database, as well as for diagnostics such as logging statements, and monitoring and tracing locks.

The table later in this topic lists all the core Derby properties.

Derby also supports a number of properties that are specific to the Network Server. For information about these properties, see "Setting Network Server properties" in the Derby Server and Administration Guide.

For information on how to set Derby properties, see "Setting Derby properties" in the Derby Developer's Guide.

Note: When setting properties that have boolean values, be sure to trim extra spaces around the word true. Extra spaces around the word true cause the property to be set to false, regardless of its previous setting.

To disable or turn off a database-wide property setting, set its value to null. To determine the result of this action, recall that the search order for properties is as follows (as stated in "Precedence of properties" in the Derby Developer's Guide).

  1. System-wide properties set programmatically (as a command-line option to the JVM when starting the application or within application code); not consulted if derby.database.propertiesOnly is set to true
  2. Database-wide properties
  3. System-wide properties set in the derby.properties file; not consulted if derby.database.propertiesOnly is set to true

Setting the database-wide property to null has the effect of removing the property from the list of database properties and restoring the system property setting from derby.properties if there is one. As always, if no value can be determined from the search, the built-in default applies.

For example, the following code fragment turns off a previous database-wide setting of the derby.database.fullAccessUsers property:

Statement s = conn.createStatement();
s.executeUpdate("CALL SYSCS_UTIL.SYSCS_SET_DATABASE_PROPERTY(" +
    "'derby.database.fullAccessUsers', null)");

If the property is a static one, the null setting does not take effect until you reboot the database. Moreover, the static property derby.database.sqlAuthorization cannot be disabled after it has been enabled, even with a reboot.

The following table summarizes the general Derby properties. In the Scope column of this table, S stands for system-wide, D stands for database-wide, and C indicates the value persists with newly created conglomerates.

Table 1. Derby properties
Property Scope Dynamic or Static
derby.authentication.builtin.algorithm S, D Dynamic
derby.authentication.builtin.iterations S, D Dynamic
derby.authentication.builtin.saltLength S, D Dynamic
derby.authentication.ldap.searchAuthDN S, D Static
derby.authentication.ldap.searchAuthPW S, D Static
derby.authentication.ldap.searchBase S, D Static
derby.authentication.ldap.searchFilter S, D Static
derby.authentication.native.passwordLifetimeMillis S, D Static
derby.authentication.native.passwordLifetimeThreshold S, D Static
derby.authentication.provider S, D Static
derby.authentication.server S, D Static
derby.connection.requireAuthentication S, D Static
derby.database.classpath D Dynamic
derby.database.defaultConnectionMode S, D See the main page for this property for information about when changes to the property are dynamic
derby.database.forceDatabaseLock S Static
derby.database.fullAccessUsers S, D See the main page for this property for information about when changes to the property are dynamic
derby.database.noAutoBoot D Static
derby.database.propertiesOnly D Dynamic
derby.database.readOnlyAccessUsers S, D See the main page for this property for information about when changes to the property are dynamic
derby.database.sqlAuthorization S, D Static
derby.infolog.append S Static
derby.jdbc.xaTransactionTimeout S, D Dynamic
derby.language.logQueryPlan S Static
derby.language.logStatementText S, D Static
derby.language.sequence.preallocator S, D Static
derby.language.statementCacheSize S, D Static
derby.locks.deadlockTimeout S, D Dynamic
derby.locks.deadlockTrace S, D Dynamic
derby.locks.escalationThreshold S, D Dynamic
derby.locks.monitor S, D Dynamic
derby.locks.waitTimeout S, D Dynamic
derby.replication.logBufferSize S Static
derby.replication.maxLogShippingInterval S Static
derby.replication.minLogShippingInterval S Static
derby.replication.verbose S Static
derby.storage.indexStats.auto S, D Static
derby.storage.indexStats.log S, D Static
derby.storage.indexStats.trace S, D Static
derby.storage.initialPages C Static
derby.storage.minimumRecordSize S, D, C Dynamic
derby.storage.pageCacheSize S Static
derby.storage.pageReservedSpace S, D, C Dynamic
derby.storage.pageSize S, D, C Dynamic
derby.storage.rowLocking S, D Static
derby.storage.tempDirectory S, D Static
derby.storage.useDefaultFilePermissions S Dynamic
derby.stream.error.extendedDiagSeverityLevel S Static
derby.stream.error.field S Static
derby.stream.error.file S Static
derby.stream.error.logBootTrace S Static
derby.stream.error.logSeverityLevel S Static
derby.stream.error.method S Static
derby.stream.error.rollingFile.count S Static
derby.stream.error.rollingFile.limit S Static
derby.stream.error.rollingFile.pattern S Static
derby.stream.error.style S Static
derby.system.bootAll S Static
derby.system.durability S Static
derby.system.home S Static
derby.user.UserName S, D Dynamic
DataDictionaryVersion D Neither; value can be retrieved, but not set

There are additional properties associated with the Derby tools. For more information about tool-specific properties, see the Derby Tools and Utilities Guide.

Related concepts
Scope of Derby properties
Dynamic and static properties