PostgreSQL(ポスグレ)は、オブジェクトリレーショナルデータベース管理システムの一つであり、現在では略して「PG」と呼ばれることが多い。本稿では、PGの基本的な特徴と実用的な操作方法について解説する。
他のDBとの比較
PGを検討する前に、商用データベース市場の主要プレイヤーについて触れておく必要がある。
Oracle Database
市場シェア第一位を誇る商用データベースであり、高度なパフォーマンスと堅牢な設計が強みである。しかし、Oracle社製品の使用にはライセンスコストが発生し、、ベンダーロックインの風險も存在する。近年はオープンソースDBへの移行を進める企业が増加傾向にある。
MySQL / MariaDB
かつて独立していたMySQLはOracle社に買収され、現在もWebアプリケーションなどで広く利用されている。MySQLの創始者はOracleの支配に反発し、MariaDBとしてフォークを開発している。
PG選擇の魅力
ライセンスの柔軟性
PGはBSDライセンスに似た商用友好的なライセンスを採用している。これは、ソースコードの改変や商用利用、再配布に制約が少ないことを意味する。Oracle那样的な突如としたライセンス変更のリスクが低く、長期的なプロジェクトに適している。
豊富なデータ型サポート
- 配列型:複数の値を单一のカラムに保存可能(MySQLではJSONで模拟する必要がある)
- JSONB型:JSONデータをバイナリ形式で存储し、高速な検索を実現
- 全文検索型:テキストフィールドに対して高度な検索クエリを実行可能
高い并发処理能力
MVCC(多版型同時実行制御)を采用しており、読み取り処理と書き込み処理の競合を効果的に低減できる。
實際的操作
PostgreSQLはpsqlというコマンドラインツールを提供する。
接続方法
psql -U ユーザー名 -d データベース名
psql -U postgres -d postgres
データベース一覧表示
\l
現在のデータベース内のテーブル一覧
\dt
特定テーブルの構造確認
\d テーブル名
クエリの実行
SQL文の実行は他のDBと変わりはない。ただし、SQL文の最後には必ずセミコロンを付ける必要がある。
切断
\q
バックアップ(エクスポート)
pg_dumpユーティリティ 사용하여データベースのバックアップを作成する。OSのコマンドプロンプトから実行する点に注意。
cd 'C:\Program Files\PostgreSQL\16\bin'
./pg_dump -U postgres -d postgres -f C:/Users/acer/Desktop/backup.sql
リストア(復元)
まずpsqlにログインし、対象データベースを削除·再作成する。
CREATE DATABASE postgres;
続いてOSコマンドプロンプトに戻る。
./psql -U postgres -d postgres -f C:/Users/acer/Desktop/backup.sql
注意点
psqlを快適に使用するための重要なポイントを述べる。
- psql 내부のSQLコマンドは必ずセミコロンで終了させる。忘れた場合、画面に何も表示されない。Oracleと異なり、セミコロンなしではクエリが実行されない。
- psqlが认识しないコマンド(バックスラッシュで開始しないもの)は、エラー也表示されずに无声のままになる。