Postgresql8.5增加了很多新的特性和功能,非常不错.
Alpha2版本已经出来了,为了实验新的功能,于是在Freebsd8上装了上去.安装非常简单
1
源代码下载下来后,直接
./configure
make
make install
就可以装上去了.
2
然后用
dell#pw useradd pgsql
#passwd pgsql
pgsql
新增一个用户pgsql并把密码也设成pgsql
3
然后再
cd /usr/local/
chown -R pgsql pgsql
把pgsql目录的用户主属性改成pgsql用户
4然后再
cd /usr/local/pgsql/bin
./initdb -D /usr/local/pgsql/data
初始化数据库集群,创建运行环境
4.1
如果你需要从网络访问数据库,则还需要打开远程访问权限
vi ../data/postgresql.conf
把监听的端地址listen_address的值从localhost改成*号就行了.
4.2
然后
vi ../data/pg_hba.conf加上认证的机制
host all all 192.168.1.0/24 md5
这样,你的局域网内的所有计算机都就可以访问你的这个服务器了.注意,192.168.1这个要
改成你自己的网络的,不可照搬.
5然后再
./pg_ctl start -D /usr/local/pgsql/data
启动数据库
6然后再用
./psql postgres来登录就可以了.如果需要远程访问,还要把pgsql用户修改成你自己的密码.
使用alter role命令即可.
要注意的是pgadmin3的发布版是没有办法连接8.5的,连上以后会因为系统表结构字段已改过,而
无法显示数据库信息.需要从SVN中下载最新版本才行.不喜欢用命令行的同学可以用我写的一个
数据库管理工具来进行实验.
在8.5的特性列表中,有很多的特性,这里我只说几个我觉的很有用的并且我很感兴趣的
1 SQL兼容的触发器语法:用来限定仅仅更新指定的列
CREATE TRIGGER check_update
BEFORE UPDATE OF balance ON accounts
FOR EACH ROW
EXECUTE PROCEDURE check_account_update();
2 创建表时的模板选项,可以用INCLUDING或EXCLUDING选项
CREATE TABLE TEST2(LIKE TEST INCLUDING DEFAULTS);
这样,生成的TEST2表就会把TEST表的字段默认值给带过来,默认是不带的.通过指定的选项,可以控制
新建的表究竟带哪些东西到新表过来.
其中可以包含的有
DEFAULTS 默认值
COMMENTS 注释
CONSTRAINTS 约束
STORAGES 存储机制和填充因子
INDEXES 索引
ALL 所有
3 对COPY语句增加了更多的支持格式,如导出的格式,分隔符,转义的字符等很多功能.
这个功能很好,可以对输出的文件内容结构进行更多的控制
4 修改了窗口函数的PARTITION BY和ORDER BY子句
5 修复WITH RECURSIVE语句嵌套的BUG
6 增加Unicode字符串的转义支持.
7DROP COLUMN和DROPCONSTRAINT支持 IFEXISTS支持,
以避免在列和约束不存在的时候产生异常.此功能在重复运行脚本时比较好用.
ALTER TABLE T6 DROP COLUMN IF EXISTS COL1;
这个功能太有用了,即使删除不存在的,也只会有一个Notice的提示,如果前台使用
应用程序则不会出现错误,程序会忽略这个提示,而以前就会程序出现异常.以前如果
想不产生异常,就要先去系统表中查一下这个表是否有这个字段.然后再决定操作.
8 唯一索引可以被推迟使用,主要用在ID=ID+1的功能上.
这个功能是我最期待的功能,简直太有必要的.
CREATE TABLE T10(A INT UNIQUE DEFERRABLE INITIALLY DEFERRED,B VARCHAR(10));
INSERT INTO T10 VALUES(1,'A');
INSERT INTO T10 VALUES(2,'B');
INSERT INTO T10 VALUES(3,'C');
UPDATE T10 SET A=A+10;
可以更新成功 或者:
BEGIN;
UPDATE T10 SET A=2 WHERE B='A';
UPDATE T10 SET B=1 WHERE B='B';
COMMIT;
即交换两个唯一值,以前一直没能解决的问题,现在终于解决了.
9 增加INFORMATION_SCHEMA分类支持,兼容SQL2008标准
10 允许使用*号在CSV导出时,以导出引出所有的列
11 对二进制字段的16进制格式的的输入输出支持.
12 支持DO语句
这个功能太有用了,以前想要写一段代码执行一下,那可是麻烦了,先要创建一个函数,然后在函数中写
然后再调用函数,然后再删除函数,Sqlserver和Oracle和Sybase10年前都支持的东西,PG竟然不支持.
现在终于支持了.可以直接写代码让PG运行了.
DO
$$
BEGIN
UPDATE T10 SET A=A+1;
UPDATE T10 SET A=A+2;
END
$$;
就可以执行这段代码了.修改和执行起来非常方便.可以把语句直接保存在SQL文件,需要的时候调进来执行
而不是先建一个函数一,再执行函数,再删除函数,对环境没有一点污染.
13 允许函数参数使用AS指示符
14 允许游标使用MOVE FORWARD n,MOVE BACKWARD n
MOVE FORWARD ALL, MOVE BACKWARD ALL
来对游标进行移动.
这个功能对于跳行前进这种东西很有用,可以一下子跳几行前进
15 dblink支持异步通知功能了.
分享到:
相关推荐
PostgreSQL15的新特性完整介绍, 来自业界大佬的实际总结。
PostgreSQL平台新技术特性介绍.pptx
最新版本PostgreSQL JDBC驱动包,还包括老版本驱动包: postgresql-8.4-703.jdbc4(支持PostgreSQL 8) postgresql-9.4.1212(支持PostgreSQL 9) postgresql-42.2.10(支持PostgreSQL 42)
PostgreSQL 11-16版本主要特性.pdf
MySQL与PostgreSQL数据库新版本竞争分析.docx
基于nacos 2.1.0 修改支持 postgresql 12.x 的容器化运行版本, 含postgresql 库初始化sql。
PostgreSQL平台新特性介绍.pptx
可以下载各个版本的postgresql,只需要将对应的链接地址中的版本给换成自己想要的版本,就可以下载了,亲自试过下载9.2.24等版本的
PostgreSQL数据库最新版15.2 postgresql-15.2-2-windows-x64-binaries
包含postgresql-95版本所有rpm包,安装hdp必须ambari要求postgresql比较新
PostgreSQL是一种特性非常齐全的自由软件的对象-关系型数据库管理系统(ORDBMS),是以加州大学计算机系开发的POSTGRES,4.2版本为基础的对象关系型数据库管理系统。POSTGRES的许多领先概念只是在比较迟的时候才出现...
.PostGreSQL安装部署系列:Centos 7.9 安装指定PostGreSQL-15版本数据库
postgresql数据库11.18版本
10.0 将是更改版本号规则后的第一个发行版,社区在这个新版本中增加 了丰富的新特性和加强: • 功能增强 • 性能增强 • 安全性和可靠性增强 • 应用开发 • 迁移的注意事项
PostgreSQL是一种特性非常齐全的自由软件的对象-关系型数据库管理系统(ORDBMS),是以加州大学计算机系开发的POSTGRES,4.2版本为基础的对象关系型数据库管理系统。POSTGRES的许多领先概念只是在比较迟的时候才出现...
Linux 安装postgresql 源码ftp 地址,所有不同版本,官方下载地址
PostgreSQL是一种特性非常齐全的自由软件的对象-关系型数据库管理系统(ORDBMS),是以加州大学计算机系开发的POSTGRES,4.2版本为基础的对象关系型数据库管理系统。POSTGRES的许多领先概念只是在比较迟的时候才出现...
文件夹中包含postgresql9,6和postGIS这两个开源软件,下载解压后,先安装postgresql,之后将postGIS安装在同一路径下,因为两个软件都是.exe文件,所以直接运行并且一直点击“下一步”就可以了
postgresql的如下版本postgresql-10.16-1-windows-x64.rar
它可以用于任何版本 7.5 或以上的 PostgreSQL 数据库服务器,并支持大部份 PostgreSQL最新版本的功能,包括触发器、函数、管理用户等。Navicat 的功能足以符合专业开发人员的所有需求,但是对 PostgreSQL 的新手来说...