# ********************************************************
# Performance
# ********************************************************
# ----------------------------
# Number of cached database pages
#
# This sets the number of pages from any one database that can be held
# in cache at once. If you increase this value, the engine will
# allocate more pages to the cache for every database. By default, the
# SuperServer allocates 2048 pages for each database and the classic
# allocates 256 pages per client connection per database.
#
# Per-database configurable.
#
# Type: integer
#
DefaultDbCachePages = 50K
# ----------------------------
# File system cache threshold
#
# The threshold value that determines whether Firebird will use file system
# cache or not. File system caching is used if database cache size in pages
# (configured explicitly in database header or via DefaultDbCachePages setting)
# is less than FileSystemCacheThreshold value.
#
# To use file system cache always set FileSystemCacheThreshold to a large value.
# To bypass file system cache for all databases set FileSystemCacheThreshold to
# zero.
#
# Type: integer, measured in database pages
#
# Per-database configurable.
#
FileSystemCacheThreshold = 4M
# ----------------------------
# Temporary space management
#
# Temporary storage is used by the sorting module, it's also
# intended to store temporary datasets etc.
#
# The parameters below handle the allocation and caching policy
# for the temporary space manager. In previous Firebird versions,
# they were prefixed with "SortMem" instead of current "Temp".
#
# The smallest block size being allocated in the temporary storage.
# This value reflects the allocation granularity.
#
# Type: integer
#
TempBlockSize = 2M
#
# The maximum amount of the temporary space that can be cached
# in memory.
#
# For Classic servers, this setting is defaulted to 8 MB.
# Although it can be increased, the value applies to each client
# connection/server instance and thus consumes a lot of memory.
#
# Type: integer
#
TempCacheLimit = 1500M
# ********************************************************
# Security
# ********************************************************
# AuthServer and AuthClient determine which authentication methods will be used
# by network server and client redirector. The Secure remote password plugin
# using SHA-1 for the client proof is the default for both client and server.
# Additionally, the default client configuration (AuthClient) also supports new Srp256
# plugin using SHA-2 for the client proof. This enables backwards compatibility
# with older Firebird 3 servers & clients but in order to meet NIST requirements
# Srp256 should be used. To enforce NIST requirements on your server set
# AuthServer=Srp256. Be aware that this breaks compatibility with older
# than 3.0.4 clients.
#
# The default client configuration (AuthClient) also supports the pre-Firebird 3 legacy
# authentication protocol (Legacy_Auth). This is again for backwards
# compatibility but has many known weaknesses and is deprecated for current use.
#
# The default Windows client configuration (AuthClient) also includes support for
# the Win_Sspi plugin. This implements windows trusted authentication and is backward
# compatible with 2.1 and 2.5 clients and servers running on windows.
#
# Per-database configurable.
#
AuthServer = Srp
#
# Per-connection and per-database configurable.
#
#AuthClient = Srp, Srp256, Legacy_Auth #Non Windows clients
#AuthClient = Srp, Srp256, Win_Sspi, Legacy_Auth #Windows clients
AuthClient = Srp
#
# If you need to use server plugins that do not provide encryption key (both Legacy_Auth
# & Win_Sspi) you should also turn off required encryption on the wire with WireCrypt
# configuration parameter except when working with the XNET protocol which is never encrypted.
#
# UserManager sets plugin used to work with security database. If more than
# one plugin is given, first plugin from the list is used by default. If you
# need to manage legacy logins using legacy tools set it to Legacy_UserManager.
# Other managers may be chosen in create/alter/drop user commands.
#
# Per-database configurable.
#
UserManager = Srp
#
# Should connection over the wire be encrypted?
# Has 3 different values: Required, Enabled or Disabled. Enabled behavior
# depends on the other side's requirements. If both sides are set to Enabled,
# the connection is encrypted when possible. Note that Wirecrypt should be set
# to Enabled when running a Firebird server with legacy authentication.
#
# Attention: default depends upon connection type: incoming (server)
# or outgoing (client).
#
# Per-connection configurable.
#
# Type: string (predefined values)
#
#WireCrypt = Enabled (for client) / Required (for server)
WireCrypt = Enabled
# ********************************************************
# Locking
# ********************************************************
# ----------------------------
# Locking and shared memory parameters
#
# Bytes of shared memory allocated for lock manager.
# In Classic mode, the size given is used for the initial allocation. The
# table expands dynamically up to the limit of memory.
#
# Per-database configurable.
#
# Type: integer
#
LockMemSize = 15M
#
# Tune lock hash list; more hash slots mean shorter hash chains. Only
# necessary under very high load. Prime number values are recommended.
#
# Per-database configurable.
#
# Type: integer
#
LockHashSlots = 30011