`

PostgreSQL简介及下载

阅读更多
1、Download PostgreSQL
Official website:http://www.enterprisedb.com/products-services-training/pgdownload#windows
2、Advantages and disadvantages
优点

[2]  事实上, 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 一大优点。
缺点

从 Postgres 开始,PostgreSQL 就经受了多次变化。
首先,早期的 PostgreSQL 继承了几乎所有 Ingres, Postgres, Postgres95 的问题:过于学院味,因为首先它的目的是数据库研究,因此不论在稳定性, 性能还是使用方方面面,长期以来一直没有得到重视,直到 PostgreSQL 项目开始以后,情况才越来越好,PostgreSQL 已经完全可以胜任任何中上规模范围内的应用范围的业务。目前有报道的生产数据库的大小已经有 TB 级的数据量,已经逼近 32 位计算的极限。不过学院味也给 PostgreSQL 带来一个意想不到的好处:大概因为各大学的软硬件环境差异太大的缘故,它是目前支持平台最多的数据库管理系统的一种,所支持的平台多达十几种,包括不同的系统,不同的硬件体系。至今,它仍然保持着支持平台最多的数据库管理系统的称号。
其次,PostgreSQL 的确还欠缺一些比较高端的数据库管理系统需要的特性,比如数据库集群,更优良的管理工具和更加自动化的系统优化功能 等提高数据库性能的机制等。
3、The main features

函数

通过函数,可以在数据库服务器端执行指令程序。尽管这样的指令程序可以使用基本的SQL语句写成,但是由于其缺乏流程控制等功能,所以在PostgreSQL中引入了使用其它程序语言编写函数的能力,包括:
一个内置的名为PL/pgSQL的过程语言,类似于Oracle的PL/SQL;
包括PL/Perl,plPHP,PL/Python,PL/Ruby,PL/sh,PL/Tcl与PL/Scheme在内的脚本语言;
编译语言:C,C++,或Java(通过PL/Java)。
R统计语言(PL/R)。
以上部分的语言,甚至可以在触发器内执行。PostgreSQL支持行返回函数:它们的输出是一系列行类型数据的集合,可以在查询中当作表来使用。函数也可以被定义成以创建者或者调用者的身份运行。在某些场合,或者其他的数据库产品中,函数也会被称为“存储过程”,但技术上这两者并未有太大分别。
索引

在PostgreSQL中,用户可以自定义索引方法,或使用内置的B-tree,哈希表与GiST索引。PosrgreSQL的索引功能同时也具有以下功能:
反向索引检索:无须额外的索引就能实现类似ORDER BYfieldDESC的操作。
表达式索引:可以建立基于表达式值而非数值或列的索引。
部分索引:仅索引表的部分,可以通过在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)允许一个查询能被重写,通常被用作实现可更新的视图。

数据类型

PostgreSQL内置丰富的数据类型,包括:
任意精度的数值
无限制长度文本
几何图元
IP地址与IPv6地址
无类域间路由地址块,MAC地址
数组
此外,用户可以创建自定义数据类型,通常通过PostgreSQL的GiST机制,它们也能被很好得索引,比如PostGIS地理信息系统的数据类型。
定义对象

用户可以为数据库内几乎所有的对象定义新的类型,包括:
索引
操作符(可重载现有操作符。)
聚合函数
数据域
数据类型转换
会话(编码转换)
继承


数据表的结构及属性可从一个“父”表中继承,数据将在两者间共享。对子表中数据的插入或者删除也将在父表中体现,同样,对父表作出的修改,比如添加列等操作也会导致子表产生相应改动。该功能尚未完全实现,实际上,表的约束尚不能继承。比如,在一张外联参考了父表id字段的表中,插入一条具有子表中某条记录id数据的记录会导致失败,因为PostgreSQL在对父表的外键约束检查中不会检查子表的内容。
扩展

地理数据对象:PostGISGPL
全文检索:通过Tsearch2或OpenFTS, 将在8.3版本中内嵌Tsearch2。GPL
多种异步主/从复制方案,包括Slony-I(BSD授权),Mammoth Replicator
XML/XSLT支持contrib软件包中的XPath扩展GPL
分享到:
评论

相关推荐

    Introduction-to-PostgreSQL:PostgreSQL资料简介

    PostgreSQL简介 PostgreSQL资料简介 通过企业数据库安装程序下载postgres 10和PgAdmin 4(在主课程页面上链接)后,使用setup_instructions.pdf。在此期间,系统将要求您将intro_to_postgres_setup.sql文件复制到Pg...

    Navicat for PostgreSQL v15.0.21.0官方中文版

    为您提供Navicat for PostgreSQL下载,Navicat for PostgreSQL又名Navicat 12 for PostgreSQL是一款非常好用且专业的图形化PostgreSQL 数据库开发工具,Navicat for PostgreSQL容易上手,非常适合数据库新手使用。...

    Navicat for PostgreSQL 图形化数据库开发工具 v15.0.18.0官方中文版

    为您提供Navicat for PostgreSQL 图形化数据库开发工具下载,Navicat for PostgreSQL又名Navicat 12 for PostgreSQL是一款非常好用且专业的图形化PostgreSQL 数据库开发工具,Navicat for PostgreSQL容易上手,非常...

    Nacos2.2版本数据库适配插件.zip

    在Nacos2.2的发布包环境下,下载当前插件项目源码,打包为jar包,将该文件放到nacos主目录下的plugins文件夹中,默认会使用Nacos的loader.path机制指定该插件的路径,打包插件可选择nacos-postgresql-datasource-...

    Navicat for PostgreSQL 数据库管理软件 v15.0.19.0官方中文版

    为您提供Navicat for PostgreSQL 数据库管理软件下载,Navicat for PostgreSQL又名Navicat 12 for PostgreSQL是一款非常好用且专业的图形化PostgreSQL 数据库开发工具,Navicat for PostgreSQL容易上手,非常适合...

    opengeo:使用Python,QGIS,PostgreSQL和PostGIS进行开源地理时空数据处理

    使用Python,QGIS,PostgreSQL和PostGIS进行开源地理时空数据处理 geo0800:DWD气候数据中心数据档案简介 介绍了官方的政府机构德国气象局(Deutscher Wetterdienst,DWD)。 解释了DWD气候数据中心观测数据档案的...

    免费数据库简介

    几个免费数据库的简介 SQLite、Berkeley DB、PostgreSQL、MySQL、Firebird、mSQL、MSDE、DB2 Express-C、Oracle XE

    GIS视频教程下载

    课时8:1.PostgreSQL简介 课时9:2.空间数据库概述 课时10:3.PostGIS简介 课时11:4.PostGIS实践操作 课时12:课件资料 课时13:1.PostgreSQL扩展 课时14:2.PostgreSQL索引和PG的GIST注意事项 课时15:3.PostGIS ...

    金步国作品全集CHM电子书

    [原创文章]《Linux 2.6.19.x 内核编译配置选项简介》 [原创文章]Linux内核引导参数简介 [原创文章]Linux设备文件简介 [原创文章]Sysklogd 系统日志记录器 [原创文章]简单、严谨、安全 —— Dcron 简介 [原创...

    数据库系统原理与开发-数据库连接技术(ODBC).pdf

    掌握ODBC数据源的配置方法 【 【本节的主要内容 本节的主要内容】 】 2 数据库原理及应用 数据库系统原理与开发 电子科技大学-陈安龙 一、数据库编程简介 (1)客户端应用编程 (2)数据库服务器端编程 (3)编程...

    Web应用安全:Sqlmap操作参数介绍.pptx

    Sqlmap操作参数介绍 1 Sqlmap简介 2 Sqlmap的安装 3 Sqlmap操作参数介绍 目录 Sqlmap简介 Sqlmap是一种开源的渗透...支持完全地下载某个数据库中的某个表,也可以只下载某个表中的某几列,甚至只下载某一列中的部分数

    go web编程

    2.6 安装PostgreSQL 38 2.6.1 在Linux或FreeBSD系统上安装 38 2.6.2 在Mac OS X系统上安装 39 2.6.3 在Windows系统上安装 39 2.7 连接数据库 39 2.8 启动服务器 44 2.9 Web应用运作流程回顾 ...

    php网络开发完全手册

    1.1.4 相关资源及自学提示 4 1.2 PHP的应用范围及案例 5 1.2.1 PHP可以做什么 5 1.2.2 PHP擅长的几个领域及产品介绍 5 1.2.3 PHP不适合做什么 6 1.2.4 其他案例 6 1.3 PHP的Hello, world预览 6 1.3.1 第一个PHP程序...

    Sqlmap使用手册中文版

    Sqlmap使用手册中文版 Sqlmap是十分著名的、自动化的SQL注入工具。 sqlmap简介 sqlmap支持五种不同的注入模式: 基于布尔的盲注 基于时间的盲注 ...支持完全地下载某个数据库中的某个表,也可以只下载某

    serendipity 博客系统 v2.1 beta3.zip

    serendipity简介 Serendipity是一个采用PHP实现的智能博客blog系统。Serendipity功能丰富,符合标准,基于BSDLicense开源。 serendipity特点: WYSIWYG与HTML编辑; 内置强大的媒体数据库; 多作者,可配置的...

    TxtToPG 数据转换软件 v2.7官方版

    为您提供TxtToPG 数据转换软件下载...基本简介 TxtToPG是一个将文本(csv,tsv)文件数据导入PostgreSQL的工具,帮助用户快速轻松地将CSV和TXT格式的文档导入PostgreSQL数据库,以便导入需要的数据。其采用了简单的向导

    数据库技术+Navicat安装教程+Navicat+安装说明

    Navicat是一款广受欢迎的数据库管理工具,它支持连接和操作多种数据库系统,如MySQL、PostgreSQL、Oracle等。为了帮助用户顺利安装并开始使用Navicat,我们提供了一份详细完整的安装教程。 这份教程将引导您完成...

    DBSyncer是一款开源的数据同步中间件,.rar

    简介 DBSyncer是一款开源的数据同步中间件,提供Mysql、Oracle、SqlServer、PostgreSQL、Elasticsearch(ES)、Kafka、File、SQL等同步场景。支持上传插件自定义同步转换业务,提供监控全量和增量数据统计图、应用性能...

    bayonet资产管理系统.zip

    简介 Bayonet是整合多款安全工具并以web形式展现,它辅助渗透测试人员对IT资产进行资产管理。 遇到问题,请查看lssues是否有解决方案 功能点 子域名扫描:oneforall 端口服务扫描:shodan+异步socket+nmap(ip...

    性能测试工具sysbench简介

    sysbench是一款开源的多线程性能测试工具,可以执行CPU/内存/线程/IO/数据库等方面的性能测试。数据库目前支持MySQL/Oracle/PostgreSQL。...  下载  http://sourceforge.net/projects/sysbench/   编译

Global site tag (gtag.js) - Google Analytics