FASTBCP_INDEX_DIR
Overview
The first export from a backup reads its structure, which can take minutes on a large compressed backup. FastBCP keeps the result in a small index file, so that the next exports from the same backup open in milliseconds (see Backups opened again in milliseconds).
The FASTBCP_INDEX_DIR environment variable names the directory of these files. Set it when the account running FastBCP has no usable home directory, as a service account may have, or to keep the indexes on another disk.
Syntax
- Windows
- Linux
$env:FASTBCP_INDEX_DIR = "D:\FastBCP\index"
export FASTBCP_INDEX_DIR=/var/cache/fastbcp/index
Configuration
| Property | Value |
|---|---|
| Type | Fully qualified directory path. It does not need to exist: FastBCP creates it |
| Default | Not set: the local application data of the user, %LOCALAPPDATA%\ArpeMSBackup\index and %LOCALAPPDATA%\ArpeOraBackup\index on Windows, $XDG_CACHE_HOME/arpemsbackup/index and arpeorabackup/index or ~/.cache/... on Linux |
| Applies to | --connectiontype backup_mssql and backup_rman |
| Since | FastBCP 1.6.6 |
On Windows, the path must name its drive and start from its root. C:index and \index depend on the current directory, and stop the run at startup with a message naming the variable. Use C:\index, or a UNC path such as \\server\share\index.
When the Index Cannot Be Saved
Before reading a backup, FastBCP checks that the directory can be written. If it cannot, the export still runs and FastBCP logs a warning, because every run would otherwise read the structure of the backup again, without saying so:
Backup index not saved: cannot write to /var/cache/fastbcp/index (...). Every run will index this backup again
(minutes on a large compressed backup). To keep its index, set the FASTBCP_INDEX_DIR environment variable to a writable directory.
There is no warning when no index is written: with adbc.arpemsbackup.index=off or readonly in --sourceconnectstring (adbc.arpeorabackup.index for backup_rman).
With --sourceconnectstring
An adbc.arpemsbackup.index_dir or adbc.arpeorabackup.index_dir option in --sourceconnectstring wins over the variable. If that directory cannot be written, the warning tells you to change or remove the option, as the variable would change nothing.
Encrypted Backups
The index of an encrypted backup holds neither a key nor a password, and does not open the backup: the private key of the certificate is needed at every export.