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).
- 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
- Database-wide properties
- 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.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.