今日分享一款数据库的安装教程--PostgreSql,以及和mysql数据库的使用对比。
前言
各位朋友们大家好,本期文章中主要说明的内容有:
1、PostgreSql的使用优缺点。
2、PostgreSql基本(部分)查询语法介绍(含测试截图)。
3、PostgreSql和mysql对比。
PostgreSQL 是一个免费的对象-关系数据库服务器(ORDBMS),在灵活的BSD许可证下发行。
PostgreSQL 开发者把它念作 post-gress-Q-L。
PostgreSQL 的 Slogan 是 “世界上最先进的开源关系型数据库”。
简介
PostgreSQL是一个功能非常强大的、源代码开放的客户/服务器关系型数据库管理系统(RDBMS)。PostgreSQL最初设想于1986年,当时被叫做Berkley Postgres Project。该项目一直到1994年都处于演进和修改中,直到开发人员Andrew Yu和Jolly Chen在Postgres中添加了一个SQL(Structured Query Language,结构化查询语言)翻译程序,该版本叫做Postgres95, 在开放源代码社区发放。
PostgreSQL 的 主要优点如下:
1、维护者是PostgreSQL Global Development Group,首次发布于1989年6月。
2、操作系统支持WINDOWS、Linux、UNIX、MAC OS X、BSD。
3、从基本功能上来看,支持ACID、关联完整性、数据库事务、Unicode多国语言。
4、表和视图方面,PostgreSQL支持临时表,而物化视图,可以使用PL/pgSQL、PL/Perl、PL/Python或其他过程语言的存储过程和触发器模拟。
5、索引方面,全面支持R-/R tree索引、哈希索引、反向索引、部分索引、Expression 索引、GiST、GIN(用来加速全文检索),从8.3版本开始支持位图索引。
6、其他对象上,支持数据域,支持存储过程、触发器、函数、外部调用、游标
7、数据表分区方向 面,支持4种分区,即范围、哈希、混合、列表。
8、从事务的支持度上看,对事务的支持与MySQL相比,经历了更为彻底的测试。
9、My ISAM表处理方式方面,MySQL对于无事务的MyISAM表,采用表锁定,1个长时间运行的查询很可能会阻碍对表的更新,而PostgreSQL不存在这样的问题。
10、从存储过程上看,PostgreSQL支持存储过程。因为存储过程的存在也避免了在网络上大量传播 始的SQL语句的传输,这样的优势是显而易见的。
11、用户定义函数的扩展方面,PostgreSQL可以更方便地使用UDF(用户定义函数)进行扩展。
PostgreSQL 的 应用的劣势如下:
1、最新版本和历史版本不分离存储,导致清理老旧版本时需要做更多的扫描,代价比较大但一般 的数据库都有高峰期,如果合理安排VACUUM,这也不是很大的问题,而且在PostgreSQL9.0中VACUUM进一步被加强了。
2、在PostgreSQL中,由于索引完全没有版本信息,不能实现Coverage index scan,即查询只扫描索引,不能直接从索引中返回所需的属性,还需要访问表,而Oracle与Innodb则可以。
安装PostgreSQL安装步骤以及操作说明请参考(本文不再):
安装请参照:https://www.runoob.com/postgresql/windows-install-postgresql.html
安装成功但连接失败
使用navicat连接本地PostgreSQL数据库时报错:
could not connect to server: Connection refused (0x0000274D/10061) Is the server running on host"localhost" (:1) and acceptingTCP/IP connections on port 5433 ?
首先检查一下是不是没有启动PostgreSQL服务,因为没启动服务可能会报这个错误(我就是); 方法如下:
win R打开输入命令框,输入services.msc打开服务列表。
右键启动
再次尝试连接数据库,看是否成功,如果没成功那就进行以下步骤:
1、在postgresql的安装文件夹\9.5\data\pg_hba.conf里面找到“# IPv4 local connections:”