OSS-DB試験対策 緑本 ch1
一般的特徴
オープンソースデータベースの普及
- 商用だけじゃなくなったね、という話
- 自分たちで育てる
PostgreSQLの特徴
- オープンソース
- 長い歴史
- history
- POSTGRES (1986)
- カリフォルニアバークレー校 Michael Stonebraker
- Postgres95 (1995)
- PostgreSQL 6.0 (1996)
- PostgreSQL 11 (2018)
- POSTGRES (1986)
- history
- 標準SQLの大部分ややその他の最新機能のサポート
- Supported Features
- Recursive queryとか
- Supported Features
- 様々なユーザ拡張
- Arrays of user-defined types
- User-defined cast functions
- User-defined functions with no overloading
- User-defined stored procedures with no overloading
- 標準準拠
- featuresにいろいろ書いてある
- 扱いやすいライセンス
- 無償
- BSDライク
- 商用/非商用問わず
- 無償
- 多言語対応
- 日本語含むエンコーディングに対応
- 【補】
CHAR(1)
は1バイトではなく1文字
- 【補】
- 日本語含むエンコーディングに対応
- マルチプラットフォーム
- レプリケーション
- 同期/非同期レプリケーション
- PostgreSQL 9系から
- ホットスタンバイとストリーミングレプリケーション
- streaming replicaton
- ロジカルレプリケーション
- 同期/非同期レプリケーション
ライセンス
PostgreSQL is released under the PostgreSQL License, a liberal Open Source license, similar to the BSD or MIT licenses.
PostgreSQL Database Management System
(formerly known as Postgres, then as Postgres95)Portions Copyright © 1996-2020, The PostgreSQL Global Development Group
Portions Copyright © 1994, The Regents of the University of California
Permission to use, copy, modify, and distribute this software and its documentation for any purpose, without fee, and without a written agreement is hereby granted, provided that the above copyright notice and this paragraph and the following two paragraphs appear in all copies.
IN NO EVENT SHALL THE UNIVERSITY OF CALIFORNIA BE LIABLE TO ANY PARTY FOR DIRECT, INDIRECT, SPECIAL, INCIDENTAL, OR CONSEQUENTIAL DAMAGES, INCLUDING LOST PROFITS, ARISING OUT OF THE USE OF THIS SOFTWARE AND ITS DOCUMENTATION, EVEN IF THE UNIVERSITY OF CALIFORNIA HAS BEEN ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
THE UNIVERSITY OF CALIFORNIA SPECIFICALLY DISCLAIMS ANY WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE. THE SOFTWARE PROVIDED HEREUNDER IS ON AN "AS IS" BASIS, AND THE UNIVERSITY OF CALIFORNIA HAS NO OBLIGATIONS TO PROVIDE MAINTENANCE, SUPPORT, UPDATES, ENHANCEMENTS, OR MODIFICATIONS.
- 著作権表示
- PostgreSQL Global Development Group
- カリフォルニア大
- 使用・複製・改変・再配布の許諾
- 免責
- 無保証
コミュニティと情報収集
開発コミュニティ
- OSSなので開発もオープンな場で
- メーリス
- face to faceも
- PostgreSQL Global Development Group
- 【補】PostgreSQLライセンス条項の中の著作権表示にもあった名前
- 誰でも参加できる
- メーリス登録にも審査等なし
- ソースコード・バイナリコードを配布している
- 開発中のものもダウンロード可
- 【補】github
- 自分でビルドすれば手に入る
バージョン
- versioning policy
- バージョニングが途中から変わった
- ~9系
- x.y.z
- x.yが「メジャー」
- 【所感】 だから「9『系』」って言うんですね
- zが「マイナー」
- 10~
- x.z
- xが「メジャー」
- zが「マイナー」
- ~9系
- 開発中のものはalpha, beta, release candidate
Major versions usually change the internal format of system tables and data files. These changes are often complex, so we do not maintain backward compatibility of all stored data
- メジャーアップデートは永続化データに後方互換なし
- dump/restore
pg_upgrade
モジュールでデータベースクラスタをバージョンアップする
- マイナーアップデートでは互換あり
- ふつうdump/restore不要
- サーバ停止、バイナリ差し替え、サーバ再起動でOK
- アップグレードのリスクを低減するために修正対象は(重大なものに)絞られる
- 頻繁に見舞われる不具合
- セキュリティ問題
- データ破損
- ふつうdump/restore不要
マニュアル
- オンラインマニュアル
- 原文は英文
- フランス語、日本語翻訳版もある
ユーザ会
- 利用者始点のコミュニティ
- 日本PostgreSQLユーザ会(JPUG)
- Let's Postgres