第二讲:开源空间数据库一、教学目标1.了解空间数据库原理和PG实现以及PostgreSQL/PostGIS基本知识。
2.掌握PostgreSQL的操作和管理;PostGIS的常用空间特性。
二、重点与难点分析1.重点:PostGIS空间数据库的实现技术,支持的空间特性和基本操作。
2.难点:PostGIS对PostgreSQL的空间扩展如何实现。
三、教学内容与教学过程1PostgreSQL 简介1.1PostgreSQL历史1986-1994: Postgres–Original research project1995: Postgres95–SQL support1996-2000: PostgreSQL 6.0-7.0–Open source team–MVCC, stability, performance2001-2005: PostgreSQL 7.0-8.0–SQL92, complex SQL, schemas, optimizer, Win322006-2007: PostgreSQL 8.1, 8.2–In-memory bitmap, roles, partitioning,Performance9.1.5 · 2012-08-17PostgreSQL 9.2: Full Throttle Database: Live StreamingDate: 2012-09-11Location: San Francisco, CA, United States1.2Ingres和Postgres项目PostgreSQL 的前身是BSD 始于1977 年的Ingres 项目在1985 年,Michael Stonebraker 回到伯克利开始一个后-Ingres(post-Ingres)的项目,目的是解决Ingres 中,同时也是1980 年代的数据库系统中的主要问题:数据关系维护的问题。
这就是Postgres 的开端。
Ingres 是比较早的数据库系统,开始于加利福尼亚大学柏克莱分校的一个研究项目,该项目开始于70 年代早期,在80 年代早期结束。
像柏克莱大学的其他研究项目一样,它的代码使用BSD许可证。
从80 年代中期,在Ingres 基础上产生了很多商业数据库软件,包括Sybase、Microsoft SQL Server、NonStop SQL、Informix 和许多其他的系统。
在80 年代中期启动的后继项目Postgres,产生了PostgreSQL、Illustra,无论从任何意义上来说,Ingres 都是历史上最有影响的计算机研究项目之一。
在1993年,用户开始暴涨,并且特性需求急剧增加;在做了一些代码清理、发布了版本4 之后,Postgres 项目正式终止。
在1994年,两名伯克利的研究生在做研究生课题的时候,向Postgres 里增加了现代的SQL 语言的支持。
两位研究生是来自中国香港的Andrew Yu 和Jolly Chen 用bison 和flex 工具的组合,把Postgres 的Postquel查询语言替换成了SQL92,然后将Postgres 改名为Postgres95。
Andrew Yu 和Jolly Chen 最大的贡献在于,完成了Postgres95 之后,将其发布到了互联网上,随后的1996 年,加拿大的 Networking Services的Marc Fournier(一名FreeBSD 黑客)提供了第一个非大学的开发服务器平台,然后Bruce Momjian(美国)和Vadim B. Mikheev(俄国)开始修改以及稳定伯克利发布的代码,并于1996年8月发布了第一个开源版本。
目前,PostgreSQL 的稳定版本到了9.2,在RDBMS的各种特性方面,已经接近于“无可指责”的境界了。
而目前PostgreSQL 的开发是围绕在更易用的SQL 语言扩展、SQL 标准的兼容(比如SQL2003、XML/Xquery的支持)、扩展工具、外围工具等方面。
PostgreSQL 的读法:Post-gres-Q-L。
1.3PG安装配置PostgreSQL可以用于C/S(客户/服务器)环境。
PostgreSQL的C/S架构允许任务分工。
非常适合于存储和访问大量数据的服务器主机可以用作安全的数据储存库。
可以为客户端开发复杂的图形界面程序。
另外,基于网页的前端可以通过建立网页模式的结果集到浏览器访问数据,而不需要另外的客户端软件。
PG网络配置:VB设置网络为桥接模式。
【服务器端】配置可连接接口(postgresql.conf)打开postgresql.conf文件$sudo vim /etc/postgresql/8.4/main/postgresql.conf检索修改位置/listen_addresses修改文件(i,进入编辑模式)listen_addresses = ‘*’保存文件(:wq)【服务器端】配置可连接服务器信息(pg_hba.conf)打开pg_hba.conf文件$sudo vim /etc/postgresql/9.1/main/pg_hba.conf检索修改位置host all all 127.0.0.1/32 md5修改文件(i,进入编辑模式)在3.1.2后添加下述设定内容host all all 192.168.11.0/24 md5注:该修改的目的是允许所有机器,所有用户都使用TCP/IP协议连接,用密码进行认证的方式如果想指定数据库,修改第一个all,指定用户的话,修改第二个all如果想明确访问机器的ip地址的和话,修改192.168.11.1/24部分,目前这部分的设定含义是允许从192.168.11.0到192.168.11.255的IP地址的机器访问数据库。
保存文件(:wq)重启postgres数据库$sudo /etc/init.d/postgresql restart[教学提示]:希望大家自学Xubuntu操作系统的使用。
1.4BSD许可证BSD许可证(Berkeley Software Distribution license),是自由软件(开源软件的一个子集)中使用最广泛的许可证之一。
BSD软件就是遵照这个许可证来发布,该许可证也因此而得名。
BSD包最初所有者是加州大学的董事会,这是由于BSD源自柏克莱加州大学。
BSD开始后,BSD许可证得以修正,使得以后许多BSD变种,都采用类似风格的许可证。
跟其他许可证相比,从GNU通用公共许可证(GPL)到限制重重的著作权(Copyright),BSD许可证比较宽松,甚至跟公有领域更为接近。
事实上,BSD 许可证被认为是copycenter(中版权),界乎标准的copyright与GPL的copyleft之间。
"Take it down to the copy center and make as many copies as you want"。
Copyright (c) 1998 著作权由加州大学董事会所有。
著作权人保留一切权利。
* * 这份授权条款,在使用者符合以下三条件的情形下,授予使用者使用及再散播本* 软件包装原始码及二进位可执行形式的权利,无论此包装是否经改作皆然:* * 对于本软件源代码的再散播,必须保留上述的版权宣告、此三条件表列,以及下述的免责声明。
* * 对于本套件二进位可执行形式的再散播,必须连带以文件以及/或者其他附于散播包装中的媒介方式,重制上述之版权宣告、此三条件表列,以及下述的免责声明。
* * 未获事前取得书面许可,不得使用柏克莱加州大学或本软件贡献者之名称,来为本软件之衍生物做任何表示支持、认可或推广、促销之行为。
免责声明:本软件是由加州大学董事会及本软件之贡献者以现状(“as is”)提供,本软件包装不负任何明示或默示之担保责任,包括但不限于就适售性以及特定目的的适用性为默示性担保。
加州大学董事会及本软件之贡献者,无论任何条件、无论成因或任何责任主义、无论此责任为因合约关系、无过失责任主义或因非违约之侵权(包括过失或其他原因等)而起,对于任何因使用本软件包装所产生的任何直接性、间接性、偶发性、特殊性、惩罚性或任何结果的损害(包括但不限于替代商品或劳务之购用、使用损失、资料损失、利益损失、业务中断等等),不负任何责任,即在该种使用已获事前告知可能会造成此类损害的情形下亦然。
最自由的是BSD软件许可(Berkeley Software Distribution),它提供“随便你怎么处置这个软件。
”最宽容的许可是伯克利软件分发(BSD,Berkeley Software Distribution)许可,它实际上说“用这个软件做任何你想做的。
但不提供任何担保”。
PostreSQL使用的软件许可(/about/licence)响应BSD软件许可的精神并套用它的说法,“允许以任何目的使用、拷贝、修改和重新发布这套软件以及文档,不需要任何费用,不需要签订任何书面协议,提供以上的版权通告以及这段和以下两个段落的文字在所有的拷贝中”。
2PostgreSQL 功能PostgreSQL技术功能后端;性能;安全;网络;国际化;平台;数据类型;函数和触发器;程序语言;contrib模块。
PostgreSQL比较2.1基本信息2.2操作系统支持2.3基本功能2.4表与视图2.5索引2.6其他对象2.7数据表分区2.8数据库与模式(Schemas)2.9外部连接3PostgreSQL优点PostgreSQL提供了许多其他数据库系统的优势,为您的公司或企业。
3.1免疫过度部署部署是一些专有数据库厂商视为他们的许可证合规性问题。
在PostgreSQL,没有人可以控告你打破许可协议,有没有相关的授权费用的软件。
这有几个附加的优点:更多有利可图的商业模式,与大规模的部署。
没有可能的许可证合规性审核的任何阶段。
灵活地进行概念研究和试验部署,而不需要包括额外的许可费用。
比专有软件厂商的更好的支持。
除了我们提供的大力支持,我们有一个充满活力的社区,PostgreSQL的专业人士和爱好者,您的员工可以借鉴和促进。
3.2节省人力成本显着我们的软件已经被设计和创造有比领先的专有数据库的维护和调整的要求要低得多,但仍保留了所有的功能,稳定性和性能。
此外,我们的培训课程通常被看作是更符合成本效益,易于管理,并实际在现实世界领先的专有数据库厂商。
3.3传奇的可靠性和稳定性与许多专有数据库,它是很普遍的公司报告了PostgreSQL,从来没有,永远为他们坠毁在几年的高活性操作。
一次也没有。
这只是工作。
3.4可扩展源代码是不收取任何费用。