1. PostgreSQL简介
Postgresql简介¶
介绍¶
PostgreSQL 是一个免费的对象-关系数据库服务器(ORDBMS),在灵活的BSD许可证下发行 PostgreSQL是最初的伯克利代码的开源继承者。它支持大部分 SQL 标准并且提供了许多现代特性:
- 复杂查询
- 外键
- 触发器
- 可更新视图
- 事务完整性
-
多版本并发控制 同样,PostgreSQL可以用许多方法扩展,比如, 通过增加新的:
-
数据类型
- 函数
- 操作符
- 聚集函数
- 索引方法
- 过程语言 并且,因为自由宽大的许可证,任何人都可以以任何目的免费使用、修改和分发PostgreSQL, 不管是私用、商用还是学术研究目的。
基本概念¶
按照数据库术语来说,PostgreSQL使用一种客户端/服务器 的模式。一次PostgreSQL会话由下列相关的进程(程序)组成:
一个服务器进程,它管理数据库文件,接受来自客户端应用与数据库的连接,并且代表客 户端在数据库上执行操作。数据库服务器程序叫postgres。
那些需要执行数据库操作的用户的客户端(前端)应用。客户端应用可能本身就是 多种多样的:它们可以是一个字符界面的工具,也可以是一个图形界面的应用, 或者是一个通过访问数据库来显示网页的 web 服务器,或者是一个特殊的数据库 管理工具。一些客户端应用是和PostgreSQL发布一 起提供的,但绝大部分是用户开发的。
和典型的客户端/服务器应用(C/S应用)一样,这些客户端和服务器可以在不同 的主机上。这时它们通过 TCP/IP 网络连接通讯。你应该记住的是,在客户机 上可以访问的文件未必能够在数据库服务器机器上访问(或者只能用不同的文件 名进行访问)。
PostgreSQL服务器可以处理来自客户端的多个并发连接。 因此,它为每个连接启动("forks")一个新的进程。从这个时候开始,客户端和新服务 器进程就不再经过最初的postgres进程进行通讯。因此,主服务器总是在运行,等 待客户端连接,而客户端及其相关联的服务器进程则是起起停停。