File Types
Btrieve API supports a maximum file size of 256 GB for Pervasive PSQL 9.5 or later data files (128 GB for earlier 9.x versions and 64 GB for earlier versions), supports long file names, and supports three data file types:
*Note: For users of Btrieve 6.x and earlier, Pervasive PSQL can create files in 8.x and 7.x formats. These newer formats allow for enhancements and new features.

Btrieve 6.x and earlier cannot open Pervasive PSQL 7.x or 8.x files. However, Pervasive PSQL v11 SP3 can open pre-7.0 files. When Pervasive PSQL v11 SP3 opens pre-7.0 files, it does not convert the files to the 7.0 or 8.0 formats. Also, you can configure the Pervasive PSQL to create files using a pre-8.0 format. This may be useful if you want to use newly created pre-V8 files.
Standard Data Files
A standard 7.x or later data file contains two FCR pages followed by a number of PAT pages, index pages, data pages, and possibly variable and ACS pages. You can create a standard file for use with either fixed- or variable-length records. Because standard files contain all the index structures and data records, The transactional interface can dynamically maintain all the index information for the records in the file.
Data-Only Files
When you create a data-only file, you do not specify any key information, and Pervasive PSQL does not allocate index pages for the file. This results in a smaller initial file size than for standard files. You can add keys to a data-only file after creating the file.
Key-Only Files
Key-only files contain only FCR pages followed by a number of PAT pages and index pages. (In addition, if you have defined referential integrity constraints on the file, the file may contain one or more variable pages.)
Key-only files include only one key, and the entire record is stored with the key, so no data pages are required. Key-only files are useful when your records contain a single key and that key takes up most of each record. Another common use for a key-only file is as an external index for a standard data file.
The following restrictions apply to key-only files:
Large Files
The transactional interface supports file sizes up to 256 GB for Pervasive PSQL 9.5 or later (128 GB for earlier 9.x versions and 64 GB for other earlier versions). However, many operating systems do not support single files this large. In order to support files larger than the operating system file size limit, the transactional interface breaks up large files into smaller files that the operating system can support. A large, logical file is called an extended file. The smaller, physical files that comprise an extended file are called extension files. The base file is an original data file that has become too large to support as a single, physical file. Non-extended (that is, non-segmented) files provide more efficient I/O and, therefore, increased performance.
You can choose to not to automatically extend Pervasive PSQL 9.x files or later at 2 GB. To change the segment operation setting access the configuration settings in the Pervasive PSQL Control Center (PCC) as described in Configuration Through PCC in Advanced Operations Guide. From there you can set the Limit Segment Size to 2 GB option.
If this option is unselected, Pervasive PSQL 9.x files will not be segmented automatically at 2 GB. Version 8.x and earlier data files will continue to be extended when they reach 2 GB. If your files are already extended, they will remain segmented.
Regardless of the configuration setting, all files will continue to be extended based on the file size limitations of the current operating system.
For information about backing up files, including extended files, refer to Backing Up Your Files.
Long File Names
The transactional interface supports long file names whose length is less than or equal to 255 bytes. The following items must conform to this upper limit:
The file name cannot contain spaces unless the Embedded Spaces client configuration option is enabled. The default setting is On. See Advanced Operations Guide (Long File Names and Embedded Spaces Support).
When the transactional interface generates new files based on an existing file name, such as with Large Files (page 4-25) or during Archival Logging or Continuous Operations (for more information, see Chapter 8, Logging, Backup, and Restore in Advanced Operations Guide), the new file name includes as much of the original file name as possible and an appropriate file extension, as in the following examples: