### Berkeley DB Reference Guide: Access Methods |

# Opening a database

The DB->open function is the standard interface for opening a database, and takes five arguments:

file
  The name of the file to be opened.

database
  An optional database name.

type
  The type of database to open. This value will be one of the four access methods Berkeley DB supports: DB_BTREE, DB_HASH, DB_QUEUE or DB_RECNO, or the special value DB_UNKNOWN, which allows you to open an existing file without knowing its type.

mode
  The permissions to give to any created file.

There are a few flags that you can set to customize open:

DB_CREATE
  Create the underlying database and any necessary physical files.

DB_NOMMAP
  Do not map this database into process memory.

DB_RDONLY
  Treat the data base as readonly.

DB_THREAD
  The returned handle is free-threaded, that is, it can be used simultaneously by multiple threads within the process.

DB_TRUNCATE
  Physically truncate the underlying database file, discarding all databases it contained. Underlying filesystem primitives are used to implement this flag. For this reason it is only applicable to the physical file and cannot be used to discard individual databases from within physical files.

DB_UPGRADE
  Upgrade the database format as necessary.

Copyright Sleepycat Software