PostgreSQL とは?
ページ内リンク
↓ウィキペディア(Wikipedia)記事
↓Yahoo!知恵袋
PostgreSQL(ぽすとぐれすきゅーえる: 発音例)は、BSDライセンスにより配布されているフリーの関係データベース管理システム (RDBMS) である。その名称は Ingres の後継を意味する「Post-Ingres」に由来している。単純に「Postgres」や「ポスグレ」と呼称されることも多い。 出典: 『ウィキペディア(Wikipedia)』
postgreSQL
:
「ポストグレス」「ポストグレスキューエル」などとも読む。 オープンソース系RDBMS(Relational Database Management System) のひとつ。 最近のバージョンでは(SQL99の仕様に近い)オブジェクト指向リレーショナルデータベースとしての機能も充実してきており、その高機能さが特徴となっている。 同じオープンソース系RDBMSでも、機能よりも速度と扱いやすさを選んだMySQLとは対照的である。
出典: 『はてなダイアリー』
ノースウエスト航空
のマイルは、国内航空会社のマイレージと違って無期限!! 格安パックツアーでも
100%マイルが付くのでお得!! 国内往復分15000マイルを貯めて沖縄や北海道へ!!
関連商品
鈴木 啓修 /
最安値(新品): ¥ 3,360
最安値(中古): ¥ 2,197
 技術評論社「 PostgreSQL全機能リファレンス」の鈴木さんが、前著を新バージョンに対応(7.x->8.x)する形で出版したのが本書です。マニュアルをなぞっただけではない、本当にメカニズムを調査・把握した上での著作で、大変参考になります。
同著者の「MySQL全機能リファレンス」も、同様に新バージョン対応版を期待しています。
(MeijiK さんのレビュー)
高塚 遙 /
最安値(新品): ¥ 3,360
最安値(中古): ¥ 1,895
 この本の説明はわかりやすく、例題は確実に動作し信頼できます。
たった1つだけの欠点は、Javaからのアクセスの場合はWebに限定されており、Javaアプリケーションについての記述が無いので、他の資料で補う必要があります。
(tender さんのレビュー)
Korry Douglas /
最安値(新品): ¥ 4,264
最安値(中古): ¥ 4,259
John C. Worsley /
最安値(新品): ¥ 4,737
最安値(中古): ¥ 3,271
Richard Stones /
最安値(新品): ¥ 6,138
最安値(中古): ¥ 3,140
浅羽 義之 /
最安値(新品): ¥ 3,444
ウィキペディア(Wikipedia)記事
PostgreSQL(ぽすとぐれすきゅーえる: 発音例)は、BSDライセンスにより配布されているフリーの関係データベース管理システム (RDBMS) である。その名称は Ingres の後継を意味する「Post-Ingres」に由来している。単純に「Postgres」や「ポスグレ」と呼称されることも多い。
PostgreSQLはIllustraや、Illustraを買収しその技術を採りいれたInformixとともにオブジェクト関係データベース (ORDB) の実装のパイオニアとしての役割を果たしてきた。また、近年においては、機能、信頼性ともに目覚ましい発展を遂げており、商用のRDBMSと遜色が無くなってきている。
特徴
プラットフォーム
追記型アーキテクチャ
PostgreSQLは、MVCCの実現のため、追記型のアーキテクチャを採用している。 データを削除する際は実際のレコードは削除せず、該当行に削除マークを付けるのみである。 更新の際も内部的には削除と挿入を同時に行っている。 そのため、更新・削除が繰り返されるテーブルにおいては、たとえ理論的な行数が変わらなくとも、更新・運用を重ねるごとに物理的なファイルサイズが増加する。肥大化によるパフォーマンスの劣化を回避するため、次節に述べるバキューム作業を定期的に行う必要がある。
なお、バージョン8.3からはHeap-Only Tuples (HOT) が採用され、インデックスの変更を伴わない更新については、削除された行を直ちに再利用することが可能となり、この問題は大幅に改善された。
バキューム
バキューム (VACUUM) とは、追記型アーキテクチャにおける不要領域を回収し、再利用又はOSに返却する処理である。 各バージョンによって以下の差異がある。
PostgreSQL7.1以前
データベースファイル内の未使用領域を解放しOSに返却する処理のみをサポートする。 このVACUUMでは、処理中のテーブルに対して排他ロックが獲得されるため、VACUUMの間は対象テーブルへのアクセスがブロックされる。 システムの規模やテーブルの行数にもよるが、本バージョンにおいてシステムの停止を伴わない運用は困難であった。
PostgreSQL7.2/7.3
以前の動作を FULL 方式 (VACUUM FULL) とし、新たにコンカレント方式 (VACUUM) が実装された。 現在、単にバキュームと言った場合、後者のコンカレントバキュームを指す。
コンカレントバキュームでは、テーブルの排他ロックを伴わずに不要領域の回収を行う。 不要領域に対して再利用可能フラグを付けるのみの処理となるため、コンカレントバキュームを行っても基本的にデータベースの物理的なサイズは縮小しない。 しかし、以降の更新・削除において、このとき回収した領域が優先的に使用され、更新・削除によるファイルサイズの肥大を防止できる。
PostgeSQL7.4
自動的にバキュームを行う contrib/pg_autovacuum モジュールが提供された。 autovacuum はシステムを監視し、INSERT/UPDATE/DELETE の回数などの統計情報を利用して、適切なタイミングで適切なテーブルのみに対してバキュームを行う。 このため、高度な知識を要すことなく、不良領域の増加を十分に抑えることが可能となった。
なお、自動バキューム処理の際に参照される統計情報の記録はデフォルトでオフとなっているため、本機能を利用する際は統計情報の記録オプションもオンにする必要があり、この部分で多少のパフォーマンス低下を伴う。
PostgreSQL8.0
バキュームは多くのI/Oが必要なため、負荷の高い処理である。 バキューム実行中のシステムの全体の性能悪化を防ぐため、バキュームを行う速度を制限する機能が追加された。 ただし、バキューム自体の処理時間はその分多く要する。
PostgreSQL8.1
contribより提供されていた自動バキューム (autovacuum) 機能が本体に統合された。監視が効率化され、コマンドで発行した VACUUM との連携が可能になった。
PostgreSQL8.3以降
自動バキューム機能は標準で有効となった。加えて、Heap-Only Tuplesの採用により、バキューム自体の必要性が低減した。
PostgreSQL 周辺ツール
GUI
レプリケーション
PostgreSQL のレプリケーションは、サードパーティー製のオプションソフトウェアで実現できる。
歴史
- 1986年 - カリフォルニア大学バークレー校でマイケル・ストーンブレーカーがPOSTGRESプロジェクトを発足
- 1987年 - プロトタイプが完成、翌年のACM-SIGMODコンファレンスで紹介される
- 1989年 - POSTGRES 1 を限定的にリリース
- 1990年 - POSTGRES 2 のリリース。前バージョンの批評をもとにルールシステムが再設計された。
- 1991年 - POSTGRES 3 のリリース。複数ストレージの管理機構追加等
- 1993年 - POSTGRES 4.2 をもってカリフォルニア大学バークレー校におけるPOSTGRESプロジェクトが終了
- 1995年5月1日 - POSTGRESのソースコードを元にして、Postgres95 0.01 がリリース
- 1995年9月5日 - Postgres95 1.0 がSQL LIKE構文など実装して正式リリース
- 1997年1月29日 - PostgreSQL 6.0 と名称を変え、POSTGRESプロジェクトの連番に戻し、多数の追加変更を行いリリース
- 1998年10月30日 - PostgreSQL 6.4 : PL/pgSQL, マルチバイト文字列サポート の追加
- 1999年6月9日 - PostgreSQL 6.5 : MVCC の追加
- 2000年5月8日 - PostgreSQL 7.0 : 外部キー制約の追加
- 2001年4月13日 - PostgreSQL 7.1 : WAL, TOAST, OUTER JOIN の追加
- 2002年2月4日 - PostgreSQL 7.2 : コンカレントVACUUM の追加
- 2002年11月27日 - PostgreSQL 7.3 : スキーマ, ドメイン, PREPARE の追加
- 2003年11月17日 - PostgreSQL 7.4 : IPv6 の追加
- 2005年1月19日 - PostgreSQL 8.0 : Microsoft Windows対応, サブトランザクション, PITR, テーブルスペース の追加 [1]
- 2005年11月8日 - PostgreSQL 8.1 : 二相コミット, ROLE, 行共有ロック, テーブル・パーティショニング の追加 [2]
- 2006年12月5日 - PostgreSQL 8.2 : ウォームスタンバイ, GIN の追加 [3]
- 2008年2月4日 - PostgreSQL 8.3 : 更新処理性能の向上, XMLデータ型, 全文検索, JIS X 0213サポート, ENUM型, UUID型 [4]
関連項目
- Ludia
- NTTデータが開発したPostgreSQLの全文検索エンジン。LGPLに沿ってソースコードが公開されている。
- PowerGRES Plus
- 富士通とSRAOSSが開発したRDBMS。SRAOSSがPostgreSQLより開発した商用RDB『PowerGres』をベースとして、ストレージ管理部分に富士通『Symfoware Server』のものを移植している。
外部リンク
 All text is available under the terms of the GNU Free Documentation License. この記事は、ウィキペディアの記事を複製、改変、再配布したものにあたり、 GNU Free Documentation Licenseというライセンスの下で提供されています。 ことなびに掲載されているウィキペディアの記事も、全て GNU Free Documentation Licenseの元に提供されております。
Yahoo!知恵袋
-
postgre でテキストファイル(csv)へコピーしようとしたらエラーが出てしまいます。copy java to '/home/java.csv';と入力したらerror: could not open file "/home/java.csv" for writing: permission deniedとエラーが出てしまいます。ファイルの場所も名前も間違ってませんし何がいけないのでしょうか?わかる方いらっしゃいましたら教えていただけないでしょうか。よろしくお願いします。
解決日時:Fri, 14 Nov 2008 23:49:54 +0900 /
回答数:2 /
スコア:6,353点
-
ローカル環境にSQLを使えるようにしたいのですが…いい方法はないでしょうか?先ほど回答などいただきましたが少し足りない部分があったので補足版です。対象としているPCは非常にしょぼくてどうしようか悩んでいます。PostglesやMySQLなどもいいのですが・・・PCスペックはHDD空き容量が6GBでメモリ128MBです。これに耐えうる環境で・・・今までサーバーを立ててオラクルでアプリケーション作成のテストをしていたのですが今日 掃除をしているときにパソコンを倒して壊してしまったようです( ̄▽ ̄;)直るまで仮環境を作ってアプリケーションのテストをしたいのですが何がよいのでしょうか?アクセスがあればいいのですがありません…
解決日時:Sat, 22 Nov 2008 03:40:01 +0900 /
回答数:2 /
スコア:6,563点
-
ローカル環境にSQLを使えるようにしたいのですが…いい方法はないでしょうか?今までサーバーを立ててオラクルでアプリケーション作成のテストをしていたのですが今日掃除をしているときにパソコンを倒して壊してしまったようです( ̄▽ ̄;)直るまで仮環境を作ってアプリケーションのテストをしたいのですが何がよいのでしょうか?アクセスがあればいいのですがありません…
解決日時:Fri, 07 Nov 2008 23:11:23 +0900 /
回答数:2 /
スコア:6,349点
-
Accessってどうやって勉強すればよいでしょうか?仕事ではまだAccess使わないのですが、今後のために勉強したいっと思っています。WordとExcelの基礎は大体出来ますが、マスターする為に本を購入して再度勉強しておこうと思っていますがAccessはまったく触ったこともないし、私の会社のパソコンにも個人のパソコンにもソフトがありません。やはりパソコン教室などにいって勉強したほうがいいでしょうか?
解決日時:Mon, 03 Nov 2008 15:16:44 +0900 /
回答数:2 /
スコア:6,364点
-
PostgreSQLとSQLとの違いを教えてください?PostgreSQLを理解しなければいけないのですが、SQL文との違いが分かりません。PostgreSQLを調べてみるとIF文やBIGIN、Declareなどが使われていることが特徴かと思いましたが普通のSQL文でも使うことが出来ると思います。私は今までSQL文しかDB操作に使ったことが無いため、一体何なのかつかみどころが無く困っています。ご存知の方、教えてください。
解決日時:Wed, 01 Oct 2008 09:39:04 +0900 /
回答数:3 /
スコア:55,862点
-
pg_dumpでデータを取得する際、シーケンスの初期値を、現在の最大値に設定できるかどうか初めて質問いたします。ご無礼ありましたら、申し訳ありません。現在、データベースを別サーバに移行作業中です。移行元: OS:RedHat Linux 6.2J Postgresql-7.1.3移行先 OS:CentOS4.6 PostgreSQL-7.4.19以降元で、以下のコマンドを入力して、DBデータを取得しております。移行元サーバで実行 pg_dump -d データベース名 > backup.sqlリストア時は以下のコマンドを入力して、実行しています。移行先サーバで実行 psql -d データベース -f backup.sql上記のような手順で、データを移行しますと、シーケンスの初期値がすべて「1」となってしまいます。nextvalで各テーブルのprimarykeyとなるIDを生成している部分があり、移行前では、nextvalで生成される値が「100」になっているにも関わらず以降後では、nextvalで生成される値は「1」になってしまい、エラーが発生してしまいます。そこで、pg_dumpでデータを取得する際、移行前の最大値を、以降後の初期値(スタート値)にする方法があれば、教えていただけないでしょうか。※nextvalを使用しているテーブルは複数あります。テーブルごとに専用のシーケンスをしようしています。 例)テーブル名 test1 シーケンス名 test1_id_seq テーブル名 test2 シーケンス名 test2_id_seqまた、ご不明点ありましたら、書き込みお願いいたします。よろしくお願い申し上げます。
解決日時:Sat, 11 Oct 2008 03:18:58 +0900 /
回答数:3 /
スコア:24,926点
|
↓ニュース
↓YouTube
↓テレビ番組
↓はてブ
↓ヤフオク
↓このページへのリンク
PageRank5以上の相互リンク
・相互リンクスクエア
(PageRank 5)
・相互リンク インプロス
(PageRank 5)
→便利!NINJA TOOLS
→FC2検索
用語
Wikipedia
YouTube
|