The Object-Relational Database Management System now known as PostgreSQL (and briefly called Postgres95) is derived from the Postgres package written at Berkeley.
現在PostgreSQLとして知られている (またしばらくの間Postgres95と呼ばれていた) オブジェクトリレーショナルデータベース管理システムは バークレーで書かれたパッケージPostgres から派生しています。 With over a decade of development behind it, PostgreSQL is the most advanced open-source database available anywhere, offering multi-version concurrency control, supporting almost all SQL constructs (including subselects, transactions, and user-defined types and functions), and having a wide range of language bindings available (including C, C++, Java, perl, tcl, and python). その後 10年以上の開発で、PostgreSQL は どこでも入手できる最も先進的なオープンソースデータベースで、 MVCC(multi-version concurrency control) を提供し、 ほとんどすべての SQL の概念( サブセレクト、トランザクション、 ユーザ定義の関数と型を含む )をサポートし、 幅広い言語バインド( C、C++、Java、perl、tcl、python を含む )を持ちます。
Implementation of the Postgres DBMS began in 1986.
Postgres DBMS の実装は 1986年に始まりました。 The initial concepts for the system were presented in The Design of Postgres and the definition of the initial data model appeared in The Postgres Data Model. システムの最初の構想はThe Design of Postgresに紹介され、 最初のデータモデルの定義は The Postgres Data Model に 現れました。 The design of the rule system at that time was described in The Design of the Postgres Rules System. 当時のルールシステムの設計は The Design of the Postgres Rules System に説明されていました。 The rationale and architecture of the storage manager were detailed in The Postgres Storage System. 記憶領域管理の構造理論は The Postgres Storage System に詳しく説明されていました。
Postgres has undergone several major releases since then.
それから Postgres はいくつかのメジャーリリースを経験してきました。 The first "demoware" system became operational in 1987 and was shown at the 1988 ACM-SIGMOD Conference. 最初の "デモウェア" システムが 1987 年に使えるようになり、 1888 年の ACM-SIGMOD 会議でお目見えしました。 We released Version 1, described in The Implementation of Postgres, to a few external users in June 1989. The Implementation of Postgres に説明されるバージョン 1 を、 1989 年 1 月に数人の外部ユーザにリリースしました。 In response to a critique of the first rule system (A Commentary on the Postgres Rules System), the rule system was redesigned (On Rules, Procedures, Caching and Views in Database Systems) and Version 2 was released in June 1990 with the new rule system. 最初のルールシステム (A Commentary on the Postgres Rules System) の批評に応えて、 ルールシステムは再度設計され (On Rules, Procedures, Caching and Views in Database Systems)、 新しいルールシステムとともにバージョン 2 が 1990 年 6 月にリリースされました。 Version 3 appeared in 1991 and added support for multiple storage managers, an improved query executor, and a rewritten rewrite rule system. 複数保存領域管理、改善された問い合わせの実行、 書き直したリライトのルールシステムのサポートが追加された バージョン 3 が 1991 年に出されました。 For the most part, releases until Postgres95 (see below) focused on portability and reliability. それから Postgres95 (下記参照) までのリリースは、 大抵は移植性と信頼性に焦点が合わされていました。
Postgres has been used to implement many different research and production applications.
Postgres は 多くの異なるや研究や製造のアプリケーションを実装するのに使われてきました。 These include: a financial data analysis system, a jet engine performance monitoring package, an asteroid tracking database, a medical information database, and several geographic information systems. これらには 財務データ分析システム、 ジェットエンジンのパフォーマンスの監視パッケージ、 惑星軌道観察データベース、 いくつかの地理情報システムなどが含まれています。 Postgres has also been used as an educational tool at several universities. Postgresはまた いくつかの大学で教育ツールとしても使われてきました。 Finally, Illustra Information Technologies (since merged into Informix) picked up the code and commercialized it. 最終的には、Illustra Information Technologies (その後 Informix に合併されました) がコードを取り出し、商品化しました。 Postgres became the primary data manager for the Sequoia 2000 scientific computing project in late 1992. Postgres は 1992 年後半の科学コンピューティングプロジェクト Sequoia 2000 の基本データマネージャとなりました。
The size of the external user community nearly doubled during 1993.
1993 年中に外部ユーザコミュニティのサイズは倍近くになりました。 It became increasingly obvious that maintenance of the prototype code and support was taking up large amounts of time that should have been devoted to database research. プロトタイプのコードのメンテナンスとサポートは、 データベースの研究に当てるべき時間の多くを取っていくことは ますます明白となりました。 In an effort to reduce this support burden, the project officially ended with Version 4.2. このサポート負担を軽減しようとする中で、 プロジェクトは公式的には バージョン 4.2 で終りを告げました。
In 1994, Andrew Yu and Jolly Chen added a SQL language interpreter to Postgres.
1994 年、 Andrew Yu と Jolly Chen が SQL 言語のインタプリタを Postgres に加えました。 Postgres95 was subsequently released to the Web to find its own way in the world as a public-domain, open source descendant of the original Postgres Berkeley code. Postgres95 は続いて パブリックドメイン、オープンソースで、 オリジナルのPostgresバークレイコードの後継として、 独自の世界を見つけ出そうと、Web にリリースされました。
Postgres95 code was completely ANSI C and trimmed in size by 25%.
Postgres95 コードは完全に ANSI C であり、 そのサイズは 25% 切り落とされました。 Many internal changes improved performance and maintainability. 多くの内部的な変更で、パフォーマンスとメンテナンス性が向上しました。 Postgres95 v1.0.x ran about 30-50% faster on the Wisconsin Benchmark compared to Postgres v4.2. Postgres95 v1.0.x は Postgres v4.2 と比べて Winsconsin ベンチマークで 約 30-50% 速く動きました。 Apart from bug fixes, these were the major enhancements: バグフィクスは別として、次のような主な機能拡張があります。
The query language Postquel was replaced with SQL (implemented in the server).
問い合わせ言語 Postquel は SQL (サーバに実装されました) に置き換えられました。 Subqueries were not supported until PostgreSQL (see below), but they could be imitated in Postgres95 with user-defined SQL functions. 副問い合わせは PostgreSQL (下記参照) まで サポートされていませんでしたが、Postgres95 では ユーザ定義の SQL 関数によって疑似的に可能でした。 Aggregates were re-implemented. 集約関数が再実装されました。 Support for the GROUP BY query clause was also added. GROUP BY 句のサポートも加えられました。 The libpq interface remained available for C programs. libpq のインターフェイスは C プログラムのために残っています。
In addition to the monitor program, a new program (psql) was provided for interactive SQL queries using GNU readline.
monitor プログラムに加えて、 GNU の readline を使い インタラクティブに SQL 問い合わせを行なう 新しいプログラム (psql) が提供されました。
A new front-end library, libpgtcl, supported Tcl-based clients.
新しいフロントエンドライブラリ libpgtcl が Tclベースのクライアントをサポートしました。 A sample shell, pgtclsh, provided new Tcl commands to interface tcl programs with the Postgres95 backend. サンプルシェルの pgtclsh が tcl と Postgres95 バックエンドとを結ぶ 新しい Tcl コマンドと提供しました。
The large object interface was overhauled. The Inversion large objects were the only mechanism for storing large objects. (The Inversion file system was removed.)
巨大オブジェクトインターフェイスがオーバーホールされました。 倒置巨大オブジェクト(Inversion large object)は巨大オブジェクトを格納する 唯一のメカニズムでした。(倒置(Inversion)ファイルシステムは削除されました。)
The instance-level rule system was removed. Rules were still available as rewrite rules.
インスタンスレベルでのルールシステムが削除されました。 リールはリライトルールとしてまだ利用できます。
A short tutorial introducing regular SQL features as well as those of Postgres95 was distributed with the source code.
正規の SQL の特徴を紹介する短いチュートリアルが、 Postgres95 のものと共にソースコードで配布されました。
GNU make (instead of BSD make) was used for the build.
GNU make が(BSD makeの代わりに) ビルドに使われました。 Also, Postgres95 could be compiled with an unpatched gcc (data alignment of doubles was fixed). また、Postgres95 はパッチを当てていない gcc (double の並びが修正されました)で コンパイルできました。
By 1996, it became clear that the name "Postgres95" would not stand the test of time.
1996 年には、"Postgres95"という名前が時代を表すものに 基づかなくなったことが明らかになりました。 We chose a new name, PostgreSQL, to reflect the relationship between the original Postgres and the more recent versions with SQL capability. オリジナルのPostgres と SQL の能力をもつもっと最近のバージョンとの関係を反映する、 PostgreSQLという新しい名前を選びました。 At the same time, we set the version numbering to start at 6.0, putting the numbers back into the sequence originally begun by the Postgres Project. 同時に、元々Postgresプロジェクトで始まった シーケンスに戻す番号である 6.0 で始まるバージョンナンバリングを設定しました。
The emphasis during development of Postgres95 was on identifying and understanding existing problems in the backend code.
Postgres95の開発での重点は バックエンドのコード中にある既存の問題点を見極めて理解することにありました。 With PostgreSQL, the emphasis has shifted to augmenting features and capabilities, although work continues in all areas. PostgreSQL では、 作業はすべてのエリアで続けますが、 重点は特徴や能力を増加させることにシフトしました。
Major enhancements in PostgreSQL include:
主な PostgreSQL での機能拡張には以下のものがあります。
Table-level locking has been replaced with multi-version concurrency control, which allows readers to continue reading consistent data during writer activity and enables hot backups from pg_dump while the database stays available for queries.
表レベルでのロッキングは MVCC (multi-version concurrency control) で 置き換えられました。 これは、ライターのアクティビティの間もリーダーが一貫したデータを 読み込み続けることができ、 データベースが問い合わせ可能な状態にあればpg_dump から ホットバックアップを可能とするものです。
Important backend features, including subselects, defaults, constraints, and triggers, have been implemented.
副問い合わせ、デフォルト値、制約、トリガといった重要なバックエンドの特徴が 実装されました。
Additional SQL92-compliant language features have been added, including primary keys, quoted identifiers, literal string type coersion, type casting, and binary and hexadecimal integer input.
プライマリーキー、クオートされた記述子、強制型指定、型キャスト、 バイナリと16進整数入力を含む、追加的な SQL92 準拠の 言語の特徴が加えられました。
Built-in types have been improved, including new wide-range date/time types and additional geometric type support.
組み込み型が改善されて、新しい幅広い日付/時間型、追加的な幾何学型のサポート が含まれます。
Overall backend code speed has been increased by approximately 20-40%, and backend startup time has decreased 80% since v6.0 was released.
全体のバックエンドコードスピードがおおよそ 20-40% 向上し、 バックエンドの起動時間は v6.0 のリリースから 80% 減少しました。