New configuration parameters and changes
<< External functions (UDFs) | Firebird 2.1.6 Release Notes | Firebird 2 project teams >>
New configuration parameters and changes
Authentication
A. Peshkov
(v.2.1) On Windows server platforms, from V.2.1 forward, Authentication is used for configuring the server authentication mode if you need it to be other than the default native.
Important: In Firebird 2.1 releases prior to v.2.1.3, the default was mixed. If you are updating to v.2.1.3 from v.2.1, v.2.1.1 or v.2.1.2 and you did not set this parameter explicitly, trusted user authentication will not work. To revert to the pre-2.1.3 setting, uncomment this parameter and set it to mixed. (Tracker reference CORE-2376).
- trusted makes use of Windows "trusted authentication" which, under the right conditions, may be the most secure way to authenticate on Windows.
- native sets the traditional Firebird server authentication mode, requiring users to log in using a user name and password defined in the security database.
- mixed allows both.
RelaxedAliasChecking
V. Khorsun
(v.2.1) RelaxedAliasChecking
is a new configuration parameter added to permit a slight relaxation of the Firebird 2.0.x restrictions on mixing relation aliases and table names in a query. For example, with RelaxedAliasChecking
set to true
(=1
) in firebird.conf
, the following query will succeed in Firebird 2.1, whereas it would fail in v.2.0.x, or in v.2.1 with the parameter set to its default of 0
:
SELECT ATABLE.FIELD1, B.FIELD2 FROM ATABLE A JOIN BTABLE B ON A.ID = BTABLE.ID
Caution: Understand that this is a temporary facility whose purpose is to provide some headspace for migrating systems using legacy code that exploited the tolerance of InterBase® and older Firebird server versions to non-standard SQL usage.
- Don't enable this parameter if you have no "offending" code in your applications or PSQL modules. It is not intended as an invitation to write sloppy code!
- Regard it as a time-bomb. It will be permanently removed from a future release.
MaxFileSystemCache
V. Khorsun
(v.2.1) Sets a threshold determining whether Firebird will allow the page cache to be duplicated to the file system cache or not. If this parameter is set to any (integer) value greater than zero, its effect depends on the current default size of the page cache: if the default page cache (in pages) is less than the value of MaxFileSystemCache
(in pages) then file system caching is enabled, otherwise it is disabled.
Note: This applies both when the page cache buffer size is set implicitly by the DefaultDBCachePages
setting or explicitly as a database header attribute.
Thus,
- To disable file system caching always, set
MaxFileSystemCache
to zero. - To enable file system caching always, set
MaxFileSystemCache
an integer value that is sufficiently large to exceed the size of the database page cache. Remember that the effect of this value will be affected by subsequent changes to the page cache size.
Important: The default setting for MaxFileSystemCache
is 65536 pages, i.e. file system caching is enabled.
DatabaseGrowthIncrement
V. Khorsun
(v.2.1) For better control of disk space preallocation, the new parameter DatabaseGrowthIncrement
has been added to firebird.conf
. It represents the upper limit for the size, in bytes, of the chunk of disk that will be requested for preallocation as pages for writes from the cache. Default: 134,217,728 bytes (128 MB).
For background information, please refer to the topic Enlarge Disk Allocation Chunks in the chapter Global improvements in Firebird 2.1.
When the engine needs to initialize more disk space, it allocates a block that is 1/16th of the space already allocated, but not less than 128 KB and not greater than the DatabaseGrowthIncrement
value. The DatabaseGrowthIncrement
value can be raised to increase the maximum size of newly-allocated blocks to more than the default 128 MB. Set it to zero to disable preallocation.
Note:
- The lower limit of the block size is purposely hard-coded at 128 KB and cannot be reconfigured.
- Space is not preallocated for database shadow files.
- Preallocation is disabled for a database that has the "No reserve" option set.
ExternalFileAccess
A. Peshkov
Modified in Firebird 2, to allow the first path cited in ExternalFilesAccess
to be used as the default when a new external file is created.
LegacyHash
A. Peshkov
This parameter enables you to configure Firebird 2 to reject an old DES
hash always in an upgraded security database. If you don't use the security database upgrade procedure, this parameter does not affect Firebird operation. A DES
hash cannot arrive in the new security2.fdb
.
Refer to the Security DB Upgrade security section for instructions on upgrading your existing Firebird 1.5 security.fdb
(or a renamed isc4.gdb
) to the new security database layout.
The default value is 1
(true
).
Redirection
A. Peshkov
Parameter for controlling redirection of remote requests. It controls the multi-hop capability that was broken in InterBase® 6 and is restored in Firebird 2.
About multi-hop
When you attach to some database using multiple hosts in the connection string, only the last host in this list is the one that opens the database. The other hosts act as intermediate gateways on port gds_db
. Previously, when working, this feature was available unconditionally. Now, it can be configured.
Remote redirection is turned off by default.
Caution: If you are considering enabling multi-hop capability, please study the Warning text in the chapter on Security and in the documentation for this parameter in the firebird.conf
file.
GCPolicy
V. Khorsun
Garbage collection policy. It is now possible to choose the policy for garbage collection on Superserver. The possible settings are cooperative
, background
and combined
, as explained in the notes for GCPolicy
in firebird.conf
.
Not applicable to Classic, which supports only cooperative garbage collection.
OldColumnNaming
P. Reeves
The parameter OldColumnNaming
has been ported forward from Firebird 1.5.3. This parameter allows users to revert to pre-v1.5 column naming behaviour in SELECT
expressions. The installation default is 0
(disabled). If it is enabled, the engine will not attempt to supply run-time identifiers, e.g. CONCATENATION
for derived fields where the developer has neglected to provide identifiers.
Important: This setting affects all databases on the server and will potentially produce exceptions or unpredicted results where mixed applications are implemented.
UsePriorityScheduler
A. Peshkov
Setting this parameter to zero now disables switching of thread priorities completely. It affects only the Win32 Superserver.
TCPNoNagle
has changed
K. Kuznetzov
The default value for TcpNoNagle
is now TCP_NODELAY
.
IPCName
behaviour has changed
N. Samofatov
(v.2.1, undocumented prior to v.2.1.3) IPCName
, defaulting to FIREBIRD
since v.2.0, is the kernel namespace where the XNET instance for direct local connection on Windows is created. On Vista and some other Windows platforms, it was usually necessary to edit this parameter to add the prefix Global\
in order to ensure that the local client running under a restricted account would have the authority to create this namespace.
A change in v.2.1 made it so that the connection routine would apply the prefix to the default IpcName
unconditionally
if the user's first attempt failed due to restricted permissions.
Renamed parameters
SortMemBlockSize
changed to TempCacheBlockSize
D. Yemanov
Considered more appropriate terminology.
SortMemUpperLimit
changed to TempCacheUpperLimit
D. Yemanov
Considered more appropriate terminology.
Removed or deprecated parameters
CreateInternalWindow
D. Yemanov
The option CreateInternalWindow
is no longer required to run multiple server instances and it has been removed.
DeadThreadsCollection
is no longer used
A. Peshkov
The DeadThreadsCollection
parameter is no longer used at all. Dead threads are now efficiently released "on the fly", making configuration unnecessary. Firebird 2.0 silently ignores this parameter.
back to top of page
<< External functions (UDFs) | Firebird 2.1.6 Release Notes | Firebird 2 project teams >>