Berkeley DB Reference Version 5.3.33

Chapter 1. Berkeley DB SQL: The Absolute Basics

Table of Contents

BDB SQL Is Nearly Identical to SQLite

Getting and Installing BDB SQL

On Windows Systems

On Unix

The BDB SQL ADO.NET Interface

Accessing BDB SQL Databases

The Journal Directory

Unsupported PRAGMAs

Changed PRAGMAs

PRAGMA auto_vacuum

PRAGMA incremental_vacuum

PRAGMA journal_size_limit

Added PRAGMAs

PRAGMA bdbsql_error_file

PRAGMA bdbsql_lock_tablesize

PRAGMA bdbsql_shared_resources

PRAGMA bdbsql_single_process

PRAGMA bdbsql_system_memory

PRAGMA bdbsql_vacuum_fillpercent

PRAGMA bdbsql_vacuum_pages

PRAGMA multiversion

PRAGMA snapshot_isolation

PRAGMA trickle

PRAGMA txn_bulk

Replication PRAGMAs

Miscellaneous Differences

Berkeley DB Concepts

Encryption

Using Sequences

create_sequence

nextval

currval

drop_sequence

Differences for Users of other SQL Engines

Welcome to the Berkeley DB SQL interface. If you are a SQLite user who is using the BDB SQL interface for reasons other than performance enhancements, this chapter tells you the minimum things you need to know about the interface. You should simply read this chapter and then skip the rest of this book.

If, however, you are using the BDB SQL interface for performance reasons, then you need to read this chapter, plus most of the rest of the chapters in this book (although you can probably skip most of Administrating Berkeley DB SQL Databases, unless you want to administer your database "the Berkeley DB way").

Also, if you are an existing Berkeley DB user who is interested in the BDB SQL interface, read this chapter plus the rest of this book.

BDB SQL Is Nearly Identical to SQLite

Your interaction with the BDB SQL interface is almost identical to SQLite. You use the same APIs, the same command shell environment, the same SQL statements, and the same PRAGMAs to work with the database created by the BDB SQL interface as you would if you were using SQLite.

To learn how to use SQLite, see the official SQLite Documentation Page.

That said, there are a few small differences between the two interfaces. These are described in the remainder of this chapter.