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 Derby properties lists all the core Derby properties.

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)
  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.

Derby properties summarizes the general Derby properties. In this table, S stands for system-wide, D stands for database-wide, and C indicates the value persists with newly created conglomerates. X means yes.
Table 1. Derby properties
Property Scope Dynamic
derby.authentication.ldap.searchAuthDN S, D ??
derby.authentication.ldap.searchAuthPW S, D ??
derby.authentication.ldap.searchBase S, D ??
derby.authentication.ldap.searchFilter S, D ??
derby.authentication.provider S, D ??
derby.authentication.server S, D ??
derby.connection.requireAuthentication S, D ??
derby.database.defaultConnectionMode S, D X*
derby.database.forceDatabaseLock S ??
derby.database.fullAccessUsers S, D X*
derby.database.noAutoBoot D ??
derby.database.propertiesOnly D X
derby.database.readOnlyAccessUsers S, D X*
derby.database.sqlAuthorization S, D ??
derby.infolog.append S ??
derby.jdbc.xaTransactionTimeout S, D X
derby.language.logQueryPlan S ??
derby.language.logStatementText S, D ??
derby.locks.deadlockTimeout S, D X
derby.locks.deadlockTrace S, D X
derby.locks.escalationThreshold S, D X
derby.locks.monitor S, D X
derby.locks.waitTimeout S, D X
derby.replication.logBufferSize S ??
derby.replication.maxLogShippingInterval S ??
derby.replication.minLogShippingInterval S ??
derby.replication.verbose S ??
derby.storage.initialPages C ??
derby.storage.minimumRecordSize S, D, C X
derby.storage.pageCacheSize S ??
derby.storage.pageReservedSpace S, D, C X
derby.storage.pageSize S, D, C X
derby.storage.rowLocking S, D ??
derby.storage.tempDirectory S, D X
derby.stream.error.field S ??
derby.stream.error.file S ??
derby.stream.error.method S ??
derby.stream.error.logSeverityLevel S ??
derby.system.bootAll S ??
derby.system.durability S ??
derby.system.home S ??
derby.user.UserName S, D X

* See the main page for this property for information about when changes to the property are dynamic.

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