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
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 large_record_opt
PRAGMA multiversion
PRAGMA snapshot_isolation
PRAGMA trickle
PRAGMA txn_bulk
Replication PRAGMAs
Miscellaneous Differences
Berkeley DB Concepts
Berkeley DB encryption
SQLite Encryption Extension
Using Sequences
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.