PostgreSQL 是 ぜ 一 いち 个開源 かいげん 的 てき 物件 ぶっけん -關聯 かんれん 式 しき 資料 しりょう 庫 こ 管理 かんり 系 けい 统 ,在 ざい 類似 るいじ BSD授權 與 あずか MIT授權 的 てき PostgreSQL授權下 か 发行。[ 4]
PostgreSQL 開發 かいはつ 者 しゃ PostgreSQL Global Development Group 首 くび 次 じ 发布1996年 ねん 7月 がつ 8日 にち ,28年 ねん 前 まえ (1996-07-08 ) [ 1] 当 とう 前 ぜん 版本 はんぽん 16.4 (2024年 ねん 8月 がつ 8日 にち ;穩定版本 はんぽん ) [ 2] 17 beta 3 (2024年 ねん 8月 がつ 8日 にち ;测试版本 はんぽん ) [ 2]
源 みなもと 代 だい 码库 编程语言 C语言 操作 そうさ 系 けい 统Linux , Windows , FreeBSD , OpenBSD , NetBSD , macOS , AIX , HP/UX , Solaris 等 ひとし [ 3] 平台 ひらだい x86 , x86_64 , IA64 , PowerPC , PowerPC 64 , S/390 , S/390x , Sparc , Sparc 64 , ARM , MIPS , MIPSEL , PA-RISC 等 ひとし [ 3] 语言 英 えい 语类型 關聯 かんれん 式 しき 資料 しりょう 庫 こ 许可协议 PostgreSQL授權[ 4] 网站 www .postgresql .org
PostgreSQL经历了 りょう 长时间的演 えんじ 变。该项目 め 最初 さいしょ 开始于在加 か 利 り 福 ぶく 尼 あま 亚大学 がく 伯 はく 克利 かつとし 分校 ぶんこう 的 てき Ingres 计划。这个计划的 てき 领导者 しゃ 迈克尔·斯通布 ぬの 雷 かみなり 克 かつ 在 ざい 1982年 ねん 离开加 か 利 り 福 ぶく 尼 あま 亚大学 がく 伯 はく 克利 かつとし 分校 ぶんこう 去 さ 推进Ingres的 てき 商 しょう 业化,但 ただし 最 さい 后 きさき 还是返 かえし 回 かい 了 りょう 学 がく 术界。在 ざい 1985年 ねん 返 かえし 回 かい 伯 はく 克利 かつとし 之 の 后 きさき ,斯通布 ぬの 雷 かみなり 克 かつ 开始了 りょう post-Ingres计划,致力于解决在1980年代 ねんだい 早期 そうき 所出 しょしゅつ 现一些数据库系统存在的问题。Postgres和 わ Ingres的 てき 代 だい 码库开始(并保持 ほじ )完全 かんぜん 分 ぶん 离。
新 しん 项目Postgres 的 てき 目的 もくてき 是 ぜ 通 どおり 过增加 ぞうか 最少 さいしょう 的 てき 功 こう 能 のう 来 らい 完全 かんぜん 支持 しじ 所 しょ 需要 じゅよう 的 てき 类型。这些功 こう 能 のう 包括 ほうかつ 类型定 てい 义和完 かん 整 せい 描述数 すう 据 すえ 关系的 てき 能力 のうりょく 。完 かん 整 せい 描述数 すう 据 すえ 关系的 てき 能力 のうりょく 之 の 前 ぜん 虽广为使用 しよう 但 ただし 却需要 よう 由 よし 用 よう 户来维护。Postgres的 てき 数 すう 据 すえ 库能够"理解 りかい "关系,并可以使用 しよう 一定的规则以自然方式在相关的表中检索信息。
从1986年 ねん 开始,该项目 め 组发表 ひょう 了 りょう 一些描述这一系统基本原理的论文,并在1988年 ねん 实现并运行 ぎょう 了 りょう 一 いち 个Demo版本 はんぽん 。项目组在1989年 ねん 六月向少数用户发行了版本1.0,随 ずい 后 きさき 在 ざい 1990年 ねん 6月 がつ 发行了 りょう 带有全 ぜん 新 しん 规则系 けい 统的版本 はんぽん 2.0。1991年 ねん 的 てき 版本 はんぽん 3.0再 さい 次 つぎ 重 じゅう 写 うつし 了 りょう 规则系 けい 统,并增加 ぞうか 了 りょう 对多个存储管理 かんり 器 き 的 てき 支持 しじ 与 あずか 改 あらため 进的查询引擎。Postgres在 ざい 1993年 ねん 开始拥有大量 たいりょう 用 よう 户,这些用 よう 户提供 ていきょう 了 りょう 大量 たいりょう 的 てき 功 こう 能 のう 与 あずか 优化建 けん 议。但 ただし 是 ぜ 在 ざい 发行了 りょう 作 さく 为细节修正 しゅうせい 的 てき 版本 はんぽん 4.0之 これ 后 きさき ,Postgres计划就终止 とめ 了 りょう 。
尽 つき 管 かん Postgres计划正式 せいしき 的 てき 终止了 りょう ,BSD许可证 (Postgres遵守 じゅんしゅ BSD许可证发行 ぎょう )却使开发者 しゃ 们得以获取源 げん 代 だい 码并进一步开发系统。1994年 ねん ,两个加 か 利 り 福 ぶく 尼 あま 亚大学 がく 伯 はく 克利 かつとし 分校 ぶんこう 的 てき 研究生 けんきゅうせい Andrew Yu和 わ Jolly Chen 增加 ぞうか 了 りょう 一 いち 个SQL 语言解 かい 释器来 らい 替 がえ 代 だい 早 はや 先 さき 的 てき 基 もと 于Ingres的 てき QUEL 系 けい 统,建立 こんりゅう 了 りょう Postgres95。代 だい 码随后 きさき 被 ひ 发布到 いた 互联网上供 きょう 全 ぜん 世界 せかい 使用 しよう 。Postgres95在 ざい 1996年 ねん 被 ひ 重 じゅう 命名 めいめい 为PostgreSQL以便突出 とっしゅつ 该数据 すえ 库全新 しん 的 てき SQL查询语言 。
PostgreSQL首 くび 次 じ 发行即 そく 选择6.0作 さく 为其版本 はんぽん 号 ごう ,由来 ゆらい 自 じ 世界 せかい 各地 かくち 的 てき 数 すう 据 すえ 库开发者和志 かずし 愿 すなお 者 しゃ 们,通 つう 过互联网 进行软件的 てき 维护。在 ざい 2005年 ねん 1月 がつ 19日 にち ,PostgreSQL发行了 りょう 版本 はんぽん 8.0。自 じ 版本 はんぽん 8.0之 これ 后 きさき ,PostgreSQL得 とく 以借助 じょ 原生 げんせい 方式 ほうしき 运行于Windows系 けい 统之下 か 。
尽 つき 管 かん 许可证允许PostgreSQL被 ひ 用 よう 于商业用途 ようと ,PostgreSQL却并没 ぼつ 有 ゆう 像 ぞう Ingres那 な 样快速 そく 的 てき 被 ひ 商 しょう 业化。在 ざい 2005年 ねん 1月 がつ ,PostgreSQL才 ざい 收 おさむ 到 いた 了 りょう 它来自 じ 数 すう 据 すえ 库厂商 しょう 的 てき 第 だい 一 いち 份援助 えんじょ 。Pervasive Software [ 5] 宣布 せんぷ 了 りょう 对PostgreSQL的 てき 商 しょう 业支持 しじ 和 わ 社 しゃ 区 く 参与 さんよ 。
但 ただし 其实在 ざい 此之前 まえ ,就已经有一些公司开始对PostgreSQL伸 しん 出 で 援手。2000年 ねん ,前 まえ Red Hat 投資 とうし 者 しゃ 籌組了 りょう 一 いち 間 あいだ 名 めい 為 ため Great Bridge 的 てき 公司 こうし 來 らい 商業 しょうぎょう 化 か PostgreSQL,与 あずか 其他商用 しょうよう 資料 しりょう 庫 こ 廠 しょう 商 しょう 展 てん 开競爭 そう 。Great Bridge 資 し 助 すけ 了 りょう 好 こう 幾 いく 位 い PostgreSQL開發 かいはつ 者 しゃ ,並 なみ 且貢獻 こうけん 了 りょう 許多 きょた 資源 しげん 給 きゅう 社 しゃ 区 く 。然 しか 而到了 りょう 2001年 ねん 末 まつ ,Great Bridge 却終止 しゅうし 了 りょう 營運,一部分原因在于PostgreSQL在 ざい 被 ひ 商 しょう 业化后 きさき ,其市場 いちば 狀況 じょうきょう 并不理想 りそう 。
2001年 ねん ,Command Prompt, Inc. 发布了 りょう Mammoth PostgreSQL ,这是最 さい 老 ろう 牌 ぱい 的 てき PostgreSQL商業 しょうぎょう 软件。他 た 們通过對開發 かいはつ 者 しゃ 的 てき 贊助 さんじょ ,和 かず 开发PL/Perl 、PL/php 等 とう PostgreSQL在 ざい 各 かく 语言中 ちゅう 的 てき 实现,以及維護PostgreSQL Build Farm 等 とう 方式 ほうしき 來 らい 支援 しえん PostgreSQL社 しゃ 群 ぐん 。
2005年 ねん 1月 がつ ,PostgreSQL接 せっ 到 いた 了 りょう 來 らい 自 じ 另一間数据库廠商Pervasive Software 的 てき 支持 しじ ,该公司 こうし 以常見 つねみ 於Novell NetWare 平台 ひらだい 的 てき Btrieve 產品 さんぴん 而聞名 めい 。他 た 們宣布 せんぷ 了 りょう 進行 しんこう 商業 しょうぎょう 支援 しえん 和 わ 對 たい 社 しゃ 群 ぐん 的 てき 參與 さんよ 。但 ただし 在 ざい 他 た 們成功 せいこう 商 しょう 业化PostgreSQL一 いち 段 だん 時間 じかん 後 ご 的 てき 2006年 ねん 7月 がつ ,Pervasive Software 離 はなれ 開 ひらき 了 りょう PostgreSQL的 てき 支援 しえん 市場 いちば 。
在 ざい 2005年 ねん 中 ちゅう ,兩 りょう 間 あいだ 其他的 てき 公司 こうし 宣 せん 佈商業 ぎょう 化 か PostgreSQL,分別 ふんべつ 進入 しんにゅう 不同 ふどう 的 てき 利 り 基 もと 市場 いちば 。EnterpriseDB 宣布 せんぷ 將 はた 專 せん 注 ちゅう 於讓使用 しよう Oracle 的 てき 應用 おうよう 程 ほど 式能 しきのう 更 さら 容易 ようい 的 てき 在 ざい PostgreSQL上 じょう 運行 うんこう 。Greenplum 則 のり 專 せん 注 ちゅう 貢獻 こうけん 在 ざい 資料 しりょう 倉 くら 儲 もうか 和 わ 商業 しょうぎょう 智慧 ちえ 的 てき 應用 おうよう 程 ほど 式 しき ,尤 ゆう 其以BizGres 專 せん 案 あん 著 ちょ 稱 しょう 。
2005年 ねん 10月 がつ ,昇 のぼり 陽 よう 的 てき 軟體部門 ぶもん 執行 しっこう 副 ふく 總裁 そうさい John Loiacono 談論 だんろん 到 いた :"我 わが 們不會 かい 去 さ OEM 微 ほろ 軟的產品 さんぴん ,我 わが 們正關 せき 注 ちゅう 着 ちゃく PostgreSQL",儘管當時 とうじ 並 なみ 沒 ぼつ 有 ゆう 任 にん 何 なん 規格 きかく 釋 しゃく 出 いずる 。到 いた 了 りょう 2005年 ねん 11月,昇 のぼり 陽 よう 宣布 せんぷ 將 はた 支援 しえん PostgreSQL。2006年 ねん 6月 がつ ,Solaris 10 包含 ほうがん PostgreSQL一 いち 起 おこり 發 はつ 佈。
至 いたり 於PostgreSQL專 せん 案 あん 本身 ほんみ ,他 た 繼續 けいぞく 着 ぎ 每年 まいとし 一個主要版本發佈,以及次 じ 要 よう 的 てき 除 じょ 錯版本 はんぽん 發 はつ 佈,这些发布全 ぜん 都 と 遵守 じゅんしゅ BSD授權。
如果很粗略 りゃく 地 ち 观察PostgreSQL,会 かい 觉得这个数 すう 据 すえ 库系统和其它数 すう 据 すえ 库很类似。因 よし 为PostgreSQL使用 しよう SQL语言来 らい 执行资料的 てき 查询。这些资料通 どおり 过外 そと 键 联系在 ざい 一起 かずき ,以一系列表格的形式存在。PostgreSQL相 しょう 对于竞争者 しゃ 的 てき 主要 しゅよう 优势为可 か 编程性 せい :对于使用 しよう 数 すう 据 すえ 库资料 りょう 的 てき 实际应用,PostgreSQL让开发与使用 しよう 变得更 さら 简单。
SQL数 すう 据 すえ 在 ざい “平面 へいめん 表 ひょう 格 かく ”中 ちゅう 存 そん 储简单的数 すう 据 すえ 类型,需要 じゅよう 用 よう 户使用 しよう 查询把 わ 有 ゆう 关的信 しん 息 いき 收集 しゅうしゅう 在 ざい 一 いち 起 おこり 。这与应用和 わ 用 よう 户利用 りよう 数 すう 据 すえ 自身 じしん 的 てき 方式 ほうしき 相 しょう 对立:典型 てんけい 的 てき 使用 しよう 带有丰富数 すう 据 すえ 类型的 てき 高 だか 级语言 ごと ,在 ざい 其中所有 しょゆう 有 ゆう 关的数 すう 据 すえ 作 さく 为它自己 じこ 的 てき 一个完整单元来操作。典型 てんけい 的 てき 称呼 しょうこ 为记录 或 ある 对象 (依 よ 据 すえ 各自 かくじ 语言)。
转换来 き 自 じ SQL世界 せかい 的 てき 信 しん 息 いき 到 いた 面 めん 向 こう 对象编程世界 せかい 体 たい 现得很困难,因 いん 为两者 しゃ 有 ゆう 非常 ひじょう 不同 ふどう 的 てき 数 すう 据 すえ 组织的 てき 模型 もけい 。工 こう 业界把 わ 这个问题称 しょう 为对象关系不 ふ 匹 ひき 配 はい :从一个模型映射到另一个要花费项目开发者40%的 てき 时间。一些映射解决方案,典型 てんけい 的 てき 称 しょう 为对象关系映 うつ 射 い ,致力于这个问题,但 ただし 是 ぜ 它们花 はな 费很多 た 并有自身 じしん 的 てき 问题,导致糟 かす 糕的性能 せいのう 或 ある 强制 きょうせい 所有 しょゆう 的 てき 数 すう 据 すえ 访问通 どおり 过映射 しゃ 所 しょ 支持 しじ 的 てき 一种语言来进行。
PostgreSQL可 か 以直接 ちょくせつ 在 ざい 数 すう 据 すえ 库中解 かい 决很多 た 这类问题。PostgreSQL允 まこと 许用户定义基于正规的SQL类型的 てき 新 しん 类型,允 まこと 许数据 すえ 库自身 じしん 理解 りかい 复杂数 すう 据 すえ 。例 れい 如,你可以定义一个address
来 らい 组合一些事物如街道编号、城市 じょうし 和国 わこく 度 ど 的 てき 字 じ 符 ふ 串 くし 。从这一 いち 点 てん 上 じょう 你可以轻易 えき 地 ち 建立 こんりゅう 把 わ 保存 ほぞん 地 ち 址 し 所 しょ 需要 じゅよう 的 てき 所有 しょゆう 字 じ 段 だん 包含 ほうがん 在 ざい 一 いち 个单一 いち 行列 ぎょうれつ 中 ちゅう 的 てき 表 ひょう 。
PostgreSQL还允许类型 がた 包括 ほうかつ 继承,这是在 ざい 面 めん 向 こう 对象编程中 なか 的 てき 主要 しゅよう 概念 がいねん 。例 れい 如,你可以定义post_code
类型,并接着 せっちゃく 基 もと 于它建立 こんりゅう us_zip_code
和 わ canadian_postal_code
。在 ざい 数 すう 据 すえ 库中的 てき address就可以采用 よう us_address
或 ある 者 もの canadian_address
形式 けいしき ,而特定 とくてい 的 てき 规则可 か 以在各自 かくじ 情 じょう 况下验证数 すう 据 すえ 。在 ざい PostgreSQL的 てき 早期 そうき 版本 はんぽん 中 ちゅう ,实现新 しん 类型需要 じゅよう 写 うつし C扩展并把它们编译到数 すう 据 すえ 库服务器中 ちゅう ;在 ざい 版本 はんぽん 7.4中 ちゅう ,通 つう 过CREATE DOMAIN
建立 こんりゅう 和 わ 使用 しよう 定 じょう 制 せい 类型变得很容易 ようい 了 りょう 。
数 かず 据 すえ 库自身 じしん 的 てき 编程可 か 以从使用 しよう 函数 かんすう 上 うえ 获得巨大 きょだい 的 てき 利益 りえき 。多数 たすう SQL系 けい 统允许用户写存 そん 储过程 ほど ,它是其他SQL语句可 か 以调用 よう 的 てき 一 いち 块SQL代 だい 码。但 ただし 是 ぜ SQL自身 じしん 仍旧不 ふ 适合作 がっさく 为编程 ほど 语言,而且SQL用 よう 户在构造复杂逻辑时要经历巨大 きょだい 的 てき 困 こま 难。更 さら 糟 かす 糕的是 ぜ ,SQL自身 じしん 不 ふ 支持 しじ 很多的 てき 编程语言中 ちゅう 最 さい 基本 きほん 的 てき 操作 そうさ ,比 ひ 如分 ぶん 支 ささえ 和 わ 循环 。每 まい 个厂商都 しょうと 转而写 うつし 它们自己 じこ 对SQL语言的 てき 扩展来 らい 增加 ぞうか 这些特 とく 征 せい ,而这种扩展 てん 不 ふ 是 ぜ 必须跨 またが 越 えつ 数 すう 据 すえ 库平台 ひらだい 操作 そうさ 。
在 ざい PostgreSQL中程 なかほど 序 じょ 员可以用一组可观的支持语言中任何一种来写这种逻辑。
类似于Oracle的 てき 过程语言PL/SQL 的 てき 叫 さけべ 做PgSQL[ 6] 的 まと 内 ない 置 おけ 语言,在 ざい 处理查询密集 みっしゅう 的 てき 过程时提供 ていきょう 了 りょう 独特 どくとく 的 てき 优势。
流行 りゅうこう 脚本 きゃくほん 语言比 ひ 如Perl 、Python 、Tcl 和 わ Ruby 的 てき 包装 ほうそう 器 き ,允 まこと 许利用 りよう 它们在 ざい 字 じ 符 ふ 串 くし 处理和 わ 连接到 いた 广阔的 てき 外部 がいぶ 函数 かんすう 库的力量 りきりょう 。
需要 じゅよう 把 わ 复杂逻辑编译到机 つくえ 器 き 代 だい 码所能 のう 提供 ていきょう 的 てき 高性能 こうせいのう 的 てき 过程可 か 以利用 りよう C 或 ある C++ 。
在 ざい 更 さら 加 か 深奥 しんおう 的 てき 方面 ほうめん ,R 统计语言的 てき 处理器 き 允 まこと 许数据 すえ 库查询利用 りよう 它的一组丰富的统计函数。
程 ほど 序 じょ 员可以把代 だい 码作为函数 すう 插入 そうにゅう 服 ふく 务器中 ちゅう ,它是使 し 代 だい 码类似 に 于存储过程 ほど 的 てき 一 いち 个小包装 ほうそう 器 き 。以这种方式 しき SQL代 だい 码可以调用 よう (比 ひ 如)C代 だい 码或反 はん 之 これ 。
性能 せいのう 增 ぞう 进,因 いん 为数据 すえ 库引擎在一个时间一个地方调用所有的逻辑,减少了 りょう 在 ざい 客 きゃく 户和服 ふく 务器之 の 间的来 らい 回 かい 往返的 てき 次数 じすう 。
可 か 靠 もたれ 性 せい 增 ぞう 进,因 いん 为数据 すえ 验证代 だい 码集中 ちゅう 到 いた 一 いち 个地方 ちほう ,就在服 ふく 务器上 じょう ,而不用 よう 依 よ 赖在多 た 个客户应用 よう 中 ちゅう 的 てき 同 どう 步 ふ 逻辑,它们甚至可能 かのう 以多种编程 ほど 语言写 うつし 成 なり 。
通 つう 过向服 ふく 务器增加 ぞうか 有用 ゆうよう 的 てき 抽象 ちゅうしょう ,客 きゃく 户代码可以变得 どく 更 さら 短小 たんしょう 和 わ 简单。
这些优势合 あい 起 おこり 来 き 可 か 以证实PostgreSQL从编程 ほど 角度 かくど 是 ぜ 最高 さいこう 级的数 すう 据 すえ 库系统。使用 しよう PostgreSQL可 か 以显著 ちょ 的 てき 减少很多项目的 もくてき 整体 せいたい 编程时间,这种优势随 ずい 着 ぎ 项目复杂而增长。
通 つう 过函数 すう ,可 か 以在数 すう 据 すえ 库服务器端 はし 执行指令 しれい 程 ほど 序 じょ 。尽 つき 管 かん 这样的 てき 指令 しれい 程 ほど 序 じょ 可 か 以使用 しよう 基本 きほん 的 てき SQL语句写 うつし 成 なり ,但 ただし 是 ぜ 由 よし 于其缺乏 けつぼう 流 りゅう 程 ほど 控 ひかえ 制 せい 等 とう 功 こう 能 のう ,所以 ゆえん 在 ざい PostgreSQL中 ちゅう 引入了 りょう 使用 しよう 其它程 ほど 序 じょ 语言编写函数 かんすう 的 てき 能力 のうりょく ,包括 ほうかつ :
以上 いじょう 部分 ぶぶん 的 てき 语言,甚至可 か 以在触 さわ 发器内 ない 执行。PostgreSQL支持 しじ 行 ぎょう 返 かえし 回 かい 函数 かんすう :它们的 てき 输出是 ぜ 一系列行类型数据的集合,可 か 以在查询中 ちゅう 当 とう 作表 さくひょう 来 らい 使用 しよう 。函数 かんすう 也可以被定 てい 义成以创建 けん 者 しゃ 或 ある 者 もの 调用者 しゃ 的 てき 身 み 份运行 ぎょう 。在 ざい 某 ぼう 些场合 あい ,或 ある 者 もの 其他的 てき 数 すう 据 すえ 库产品 ひん 中 ちゅう ,函数 かんすう 也会被 ひ 称 しょう 为“存 そん 储过程 ほど ”,但 ただし 技 わざ 术上这两者 しゃ 并未有 ゆう 太 ふと 大分 おおいた 别。
在 ざい PostgreSQL中 ちゅう ,用 よう 户可以自定 てい 义索引 さくいん 方法 ほうほう ,或 ある 使用 しよう 内 ない 置 おけ 的 てき B树 ,哈希表 ひょう 与 あずか GiST 索引 さくいん 。PostgreSQL的 てき 索引 さくいん 功 こう 能 のう 同 どう 时也具有 ぐゆう 以下 いか 功 こう 能 のう :
反 はん 向 こう 索引 さくいん 检索:无须额外的 てき 索引 さくいん 就能实现类似ORDER BY field DESC
的 てき 操作 そうさ 。
表 おもて 达式索引 さくいん :可 か 以建立 こんりゅう 基 もと 于表达式值而非 ひ 数 すう 值或列 れつ 的 てき 索引 さくいん 。
部分 ぶぶん 索引 さくいん :仅索引 さくいん 表 ひょう 的 てき 部分 ぶぶん ,可 か 以通过在CREATE INDEX
语句口 こう 添加 てんか WHERE
从句以创建 けん 更 さら 小 しょう 的 てき 索引 さくいん 。
位 くらい 图索引 さくいん 扫描 :从8.1版 はん 开始支持 しじ 此功能 のう 。该功能 のう 将 はた 读取多 た 个索引 さくいん ,生成 せいせい 表示 ひょうじ 它们之 の 间符合 ふごう 查询标准的 てき 多元 たげん 组交集 的 まと 位 い 图。这样解 かい 决了混合 こんごう 索引 さくいん 的 てき 问题。在 ざい 一 いち 个具有 ぐゆう 20列 れつ 的 てき 表 ひょう 中 ちゅう ,理 り 论上能 のう 创建20! 个索引 さくいん ,在 ざい 实际应用中 ちゅう 並 なみ 不 ふ 实用。使用 しよう 位 い 图索引扫描后,在 ざい 每次 まいじ 查询时,它将能 のう 把 わ 约束条件 じょうけん 中 ちゅう 所 ところ 涉 わたる 及列各自 かくじ 的 てき 索引 さくいん 进行任意 にんい 的 てき 排列 はいれつ 组合。
触 さわ 发器是 ぜ 由 よし SQL语句查询所 しょ 触 さわ 发的事件 じけん 。如:一 いち 个INSERT语句可能 かのう 触 さわ 发一个检查数据完整性的触发器。触 さわ 发器通常 つうじょう 由 ゆかり INSERT或 ある UPDATE语句触 さわ 发。
在 ざい PostgreSQL中 ちゅう ,可 か 在 ざい 数 すう 据 すえ 表 ひょう 上 じょう 设置触 さわ 发器 ,但 ただし 无法在 ざい 视图中 ちゅう 设置(对视图的UPDATE或 ある 者 もの INSERT操作 そうさ 可 か 以使用 しよう 规则(RULE)定 てい 义)。多 た 个触发器可 か 依 よ 据 すえ 字母 じぼ 顺序依 よ 次 じ 执行。此外,除 じょ 了 りょう 使用 しよう 内 ない 嵌 はま 的 てき PL/PgSQL语言之 の 外 そと ,触 さわ 发器的 てき 函数 かんすう 也可以用PL/Perl,PL/Python等 とう 语言编写。
PostgreSQL使用 しよう 多 た 版本 はんぽん 并发控 ひかえ 制 せい (MVCC,Multiversion concurrency control)系 けい 统进行 ぎょう 并发控 ひかえ 制 せい ,该系统向每 ごと 个用户提供 ていきょう 了 りょう 一个数据库的“快 かい 照 あきら ”,用 よう 户在事 ごと 务内所作 しょさ 的 てき 每 まい 个修改 あらため ,对于其他的 てき 用 よう 户都不可 ふか 见,直 ちょく 到 いた 该事务成功 せいこう 提 ひさげ 交。这从很大程度 ていど 上 じょう 减少了 りょう 对读取锁的依 よ 赖,同 どう 时保证了数 すう 据 すえ 库高效 こう 地 ち 符合 ふごう ACID 原 はら 则。
规则(RULE)允 まこと 许一个查询能被重写,通 つう 常用 じょうよう 来 らい 实现对视图(VIEW)的 てき 操作 そうさ ,如插入 そうにゅう (INSERT)、更新 こうしん (UPDATE)、删除(DELETE)。
PostgreSQL内 ない 置 おけ 丰富的 てき 数 すう 据 すえ 类型,包括 ほうかつ :
此外,用 よう 户可以创建 けん 自 じ 定 てい 义数据 すえ 类型,通常 つうじょう 通 どおり 过PostgreSQL的 てき GiST 机 つくえ 制 せい ,它们也能被 ひ 很好得 とく 索引 さくいん ,比 ひ 如PostGIS 地理 ちり 信 しん 息 いき 系 けい 统的 まと 数 すう 据 すえ 类型。
用 よう 户可以为数 すう 据 すえ 库内几乎所有 しょゆう 的 てき 对象定 てい 义新的 てき 类型,包括 ほうかつ :
数 かず 据 すえ 表 ひょう 的 てき 结构及属性 せい 可 か 从一个“父 ちち ”表 ひょう 中 ちゅう 继承,数 すう 据 すえ 将 はた 在 ざい 两者间共享 とおる 。对子表 ひょう 中 ちゅう 数 すう 据 すえ 的 てき 插入 そうにゅう 或 ある 者 もの 删除也将在 ざい 父 ちち 表 ひょう 中 ちゅう 体 からだ 现,同 どう 样,对父表 ひょう 作出 さくしゅつ 的 てき 修 おさむ 改 あらため ,比 ひ 如添加 てんか 列 れつ 等 とう 操作 そうさ 也会导致子 こ 表 ひょう 产生相 しょう 应的改 あらため 动。该功能 のう 尚 なお 未 み 完全 かんぜん 实现,实际上 じょう ,表 ひょう 的 てき 约束尚 ひさし 不能 ふのう 继承。比 ひ 如,在 ざい 一张外联参考了父表id字 じ 段 だん 的 てき 表 ひょう 中 ちゅう ,插入 そうにゅう 一条具有子表中某条记录id数 すう 据 すえ 的 てき 记录会 かい 导致失 しつ 败,因 いん 为PostgreSQL在 ざい 对父表 ひょう 的 てき 外 そと 键约束 たば 检查中 ちゅう 不 ふ 会 かい 检查子 こ 表 ひょう 的 てき 内容 ないよう 。
資料 しりょう 庫 こ 管理 かんり 及開發 かいはつ 工具 こうぐ
编辑
phpPgAdmin[ 22] 基 もと 于php语言写 うつし 的 てき 用 よう 于管理 かんり PostgreSQL数 すう 据 すえ 库的程 ほど 序 じょ
PgAdmin[ 23] 另外一个用于管理PostgreSQL数 すう 据 すえ 库的软件
地理 ちり 数 すう 据 すえ 对象:PostGIS GPL
全文 ぜんぶん 检索 :通 つう 过Tsearch2[ 24] GPL或 ある OpenFTS ,将 はた 在 ざい 8.3版 はん 本中 ほんなか 内 ない 嵌 はま Tsearch2
多 た 种异步 ふ 主 ぬし /从复制 せい 方案 ほうあん ,包括 ほうかつ Slony-I[ 25] (BSD授权),Mammoth Replicator[ 26]
XML/XSLT支持 しじ contrib软件包 つつみ 中 ちゅう 的 てき XPath扩展[ 27] GPL
机 つくえ 器 き 学 がく 习:MADlib[ 28] ASF,由 ゆかり Apache基金 ききん 会 かい 的 てき 支持 しじ 的 てき 顶级开源项目;集成 しゅうせい 大量 たいりょう 传统数学 すうがく 分析 ぶんせき 统计、图计算 さん 以及一些常见的机器学习的算法
PostgreSQL - Red Hat Edition[ 33] 是 ぜ 由 ゆかり Red Hat 製作 せいさく 的 てき 分 ぶん 支 ささえ 版本 はんぽん ,又 また 稱 たたえ Red Hat Database。