postgresql 不寻常的名字导致一些读者停下来尝试拼读它,特别是那些把sql拼读为sequel的人。postgresql 开发者把它拼读为 post-gress-q-l。它也经常被简略念为 postgres。
事实上, postgresql 的特性覆盖了 sql-2/sql-92 和 sql-3/sql-99,首先,它包括了可以说是目前世界上最丰富的数据类型的支持,其中有些数据类型可以说连商业数据库都不具备, 比如 ip 类型和几何类型等;其次,postgresql 是全功能的自由软件数据库,很长时间以来,postgresql 是唯一支持事务、子查询、多版本并行控制系统(mvcc)、数据完整性检查等特性的唯一的一种自由软件的数据库管理系统。 inprise 的 interbase 以及sap等厂商将其原先专有软件开放为自由软件之后才打破了这个唯一。最后,postgresql拥有一支非常活跃的开发队伍,而且在许多黑客的努力下,postgresql 的质量日益提高。
从技术角度来讲,postgresql 采用的是比较经典的c/s(client/server)结构,也就是一个客户端对应一个服务器端守护进程的模式,这个守护进程分析客户端来的查询请求,生成规划树,进行数据检索并最终把结果格式化输出后返回给客户端。为了便于客户端的程序的编写,由数据库服务器提供了统一的客户端 c 接口。而不同的客户端接口都是源自这个 c 接口,比如odbc,jdbc,python,perl,tcl,c/c++,esql等, 同时也要指出的是,postgresql 对接口的支持也是非常丰富的,几乎支持所有类型的数据库客户端接口。这一点也可以说是 postgresql 一大优点。
架构
postgresql强壮的一个原因源于它的架构。和商业数据库一样,postgresql可以用于c/s(客户/服务器)环境。这对于用户和开发人员有很多好处。
postgresql安装核心是数据库服务端进程。它允许在一个独立服务器上。需要访问存储在数据库中的数据的应用程序必须通过数据库进程。这些客户端程序无法直接访问数据,即使它们和服务程序在同一台机器上。
以上就是postgresql是什么?的详细内容。