SQLite 3のインストール(FreeBSD 上)
このページでは,FreeBSD 上での SQLite 3 コマンドラインシェルのインストールと実行を行う. SQLite 3 コマンドラインシェルには, データベース管理システムが組み込まれている.
SQLite 3では,次のものを設定せずに使用できる.
- アカウント(ユーザ名やパスワード)
- 権限
データベースは単一のファイルであり,サーバプロセスを起動しない.ネットワーク通信を行わないため,ファイアウオールの設定も不要である.
SQLite には,リモートからネットワーク越しに接続する機能はない. 同一ホスト上の複数のプロセスから同じデータベースファイルを共有することは,ファイルロックによって可能である (WAL モードでは,1つの書き込みと複数の読み出しを同時に行える). 一方で,クライアント・サーバ型のデータベース管理システムのような,多数の同時書き込みを想定した構成には向かない.
* 学習用として:
SQL の学習用にはインストールが簡単である. 一方で,ユーザ管理,権限管理,同時実行制御といったデータベース管理の学習には向かない. 機能面では,索引,外部キー制約(既定では無効.「PRAGMA foreign_keys = ON;」で有効化),トリガ,UTF-8 による日本語の格納に対応している. 実装されていない SQL 機能については https://www.sqlite.org/omitted.html に一覧がある.
前準備
- /etc/rc.conf, /etc/make.conf, /etc/src.conf, 環境変数の設定
「FreeBSD 基本設定」の Web ページなどを参考に行う.
- FreeBSD のシステムの更新
リリース版のバイナリを使用している場合は,freebsd-update でシステムを更新する.
freebsd-update fetch freebsd-update install - ポーツ・ツリー (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 - (オプション)インストール済みアプリケーションの全更新
パッケージ管理は pkg で行う(portupgrade, pkg_add, pkgdb, portsdb といった旧来のツールは廃止されている).
pkg update pkg upgrade
SQLite バージョン 3 コマンドライン・インタフェースのインストール (Install SQLite version 3 command-line interface)
SQLite バージョン 3 コマンドライン・インタフェースと,あわせて次の拡張機能をインストールする.
- spatialite: 空間データ(GIS)を扱うための拡張
- sqlite-ext-miscfuncs: 数学関数,文字列関数,集約関数を追加する拡張
* FreeBSD のパッケージを使用する場合
- インストール(FreeBSD のパッケージを使用)
pkg install sqlite3 pkg install spatialite pkg install sqlite-ext-miscfuncs
* FreeBSD のポーツ・ツリーを使用する場合
- インストール(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).
- SQLite 3の起動 (Start the SQLite).
このとき,データベース名として /tmp/mydb を指定する.(The database name is '/tmp/mydb'). SQLite 3では,データベース名はファイル名になる.
* データベース名にはアルファベットのみを使うのがよい.
* データベース名は「../hoge」のような相対パス形式でもよいし,カレントディレクトリを使うつもりで「hoge2」のようにしてもよい.
sqlite3 /tmp/mydb
- ヘルプの表示 (display the help)
「.help」で,ヘルプが表示される.
- 現在使用中のデータベースについての,文字のエンコーディングの確認 (encoding)
「PRAGMA encoding;」で,エンコーディングが表示される.
- SQLite 3の終了 (End SQLite)
「.exit」で終了.
コマンドラインシェルの使い方の詳しい説明は https://www.sqlite.org/cli.html を参照.