Database files
Last updated
Last updated
Starcounter database consists of the following items:
Required: specifies whether this item is a required database part; for example, when moving or backing up a database.
Platform Specific: No
- the file is platform independent; Yes
- the file is platform specific and not cross-compatible between Windows / Linux versions of Starcounter.
Note: due to the .cfg
file being platform specific, it is not currently possible to copy databases between Windows and Linux.
The very first database transaction log file is created during the first database startup. A created, but never started database does not contain any transaction log files.
When database grows, Starcounter:
Creates new transaction log files.
Compresses existing transaction log files into .optlog
files.
Moves compressed transaction log files into the archive
folder.
*Note: due to the current limitations, it is important to start the database at least once before using it from multiple different processes.*
This file contains all required information about the database.
Starcounter logs database events into this file. Sample content:
scdata
is runningOn Windows, it's not possible to delete database files while the scdata
process is running. On Linux operating systems, however, it is, which may lead to potential issues. Consider the following scenario:
A database is created at /home/database/TestDatabase
.
An scdata
process is started for the database.
The database files are deleted.
New database is created in exactly the same location.
An app tries to connect to the new database.
Starcounter detects, that there is a running scdata
process associated with this database path.
The app connects to the existing scdata
process, which still operates on the deleted files. The filesystem will keep those files around for the scdata
process, as long as it's running.
The app continues to run as expected, but the next time scdata
is restarted, for example due to a system restart, the database files will be removed from the system completely, taking all the app's database data with them.
Name
Number
Description
Required
Platform Specific
📁 archive
0 - 1
Archived transaction log files.
No
No
📜 DatabaseName.000000000000.log
0 - ∞
Transaction log file.
Yes
No
📜 DatabaseName.000000000000.optlog
0 - ∞
Compressed transaction log file.
Yes
No
📜 DatabaseName.cfg
1
Database configuration file.
Yes
Yes
📜 starcounter.000000000000.log
0 - ∞
Database events log.
No
No