SQLite 3のインストール(FreeBSD 上)

SQLite は,パブリックドメイン組み込み型のデータベース管理システム・ソフトウェアである.

このページでは,FreeBSD 上での SQLite 3 コマンドラインシェルのインストールと実行を行う. SQLite 3 コマンドラインシェルには, データベース管理システムが組み込まれている.

SQLite 3では,次のものを設定せずに使用できる.

データベースは単一のファイルであり,サーバプロセスを起動しない.ネットワーク通信を行わないため,ファイアウオールの設定も不要である.

SQLite には,リモートからネットワーク越しに接続する機能はない. 同一ホスト上の複数のプロセスから同じデータベースファイルを共有することは,ファイルロックによって可能である (WAL モードでは,1つの書き込みと複数の読み出しを同時に行える). 一方で,クライアント・サーバ型のデータベース管理システムのような,多数の同時書き込みを想定した構成には向かない.

* 学習用として:

SQL の学習用にはインストールが簡単である. 一方で,ユーザ管理,権限管理,同時実行制御といったデータベース管理の学習には向かない. 機能面では,索引,外部キー制約(既定では無効.「PRAGMA foreign_keys = ON;」で有効化),トリガ,UTF-8 による日本語の格納に対応している. 実装されていない SQL 機能については https://www.sqlite.org/omitted.html に一覧がある.

前準備

  1. /etc/rc.conf, /etc/make.conf, /etc/src.conf, 環境変数の設定

    「FreeBSD 基本設定」の Web ページなどを参考に行う.

  2. FreeBSD のシステムの更新

    リリース版のバイナリを使用している場合は,freebsd-update でシステムを更新する.

    freebsd-update fetch
    freebsd-update install
    
  3. ポーツ・ツリー (Ports Tree) の取得/更新

    ポーツ・ツリーは Git で取得・更新する(portsnap は廃止されている). /usr/ports が存在しない場合は,最初に clone を行う.

    git clone https://git.FreeBSD.org/ports.git /usr/ports
    

    すでに clone 済みの場合は,次のコマンドで更新する.

    git -C /usr/ports pull --ff-only
    
  4. (オプション)インストール済みアプリケーションの全更新

    パッケージ管理は pkg で行う(portupgrade, pkg_add, pkgdb, portsdb といった旧来のツールは廃止されている).

    pkg update
    pkg upgrade
    

SQLite バージョン 3 コマンドライン・インタフェースのインストール (Install SQLite version 3 command-line interface)

SQLite バージョン 3 コマンドライン・インタフェースと,あわせて次の拡張機能をインストールする.

* FreeBSD のパッケージを使用する場合

  1. インストール(FreeBSD のパッケージを使用)
    pkg install sqlite3
    pkg install spatialite
    pkg install sqlite-ext-miscfuncs
    

* FreeBSD のポーツ・ツリーを使用する場合

  1. インストール(FreeBSD のポーツ・ツリーを使用)
    cd /usr/ports/databases/sqlite3
    make install clean
    
    cd /usr/ports/databases/spatialite
    make install clean
    
    cd /usr/ports/databases/sqlite-ext-miscfuncs
    make install clean
    

* コマンドラインシェルは /usr/local/bin/sqlite3 にインストールされる.

SQLite バージョン 3 の起動と終了 (Start and end SQLite version 3)

FreeBSD の端末 (terminal) で,次の操作を行う.(Use FreeBSD terminal, and do the following).

  1. SQLite 3の起動 (Start the SQLite).

    このとき,データベース名として /tmp/mydb を指定する.(The database name is '/tmp/mydb'). SQLite 3では,データベース名はファイル名になる.

    * データベース名にはアルファベットのみを使うのがよい.

    * データベース名は「../hoge」のような相対パス形式でもよいし,カレントディレクトリを使うつもりで「hoge2」のようにしてもよい.

    sqlite3 /tmp/mydb
    
  2. ヘルプの表示 (display the help)

    .help」で,ヘルプが表示される.

  3. 現在使用中のデータベースについての,文字のエンコーディングの確認 (encoding)

    PRAGMA encoding;」で,エンコーディングが表示される.

  4. SQLite 3の終了 (End SQLite)

    .exit」で終了.

コマンドラインシェルの使い方の詳しい説明は https://www.sqlite.org/cli.html を参照.