其实笔者最近也是因为项目需要,接触了一点PostgreSQL的皮毛,最近PostgreSQL又刚发布了8.3版本,笔者结合网上各位高手的经验谈一点自己的安装心得,和才开始接触PostgreSQL的新手朋友共同学习。
从PostgreSQL 8.0开始,就已经正式支持Windows了,在这之前,如果你想在Windows上安装PostgreSQL,要借助于Cygwin等模拟Unix环境的工具来实现,因此在稳定性和性能上都要低于Linux上安装版本。废话少说,让我们转入正题。
下载PostgreSQL8.3 for Windows
登录ftp://ftp.ar.postgresql.org/pub/mirrors/postgresql/win32/,下载最新版:postgresql-8.3.0.zip,文件大小为20.5M,支持多语言安装,包括简体中文哦。
开始安装
下载安装文件到本地后,先用解压缩工具把压缩包解开,然后像安装其他Windows应用程序一样,双击postgresql-8.3.msi就可以开始安装向导了。
首先是选择安装过程中使用的语言。另外,你可以选择最下面得选项以把详细的安装日志写到当前安装目录,以备排查安装故障,也可以阅读一下了解它的安装过程。
选择安装语言 |
点下一步就是选择安装内容的选项了,其中分四大部分,分别是数据库服务器端、用户界面、数据库驱动和开发模块。你可以根据需要选择安装。笔者为了了解更多的东西,就把四部分全部装全了。另外此处要注意的是数据目录选项只能安装在NTFS格式的分区,如果你要安装在其他格式的分区的话,需要在安装完后,手动运行Initdb.exe。
选择安装选项1 |
选择安装选项2 |
小提示:如果你喜欢用图形界面来管理操作数据库得话,在用户界面里可以选择安装pgAdminIII。
接下来是服务配置,你可以把该数据库服务器作为Windows的一个系统服务运行,这也是Postgresql开始真正支持Windows安装的一个体现(如下图)。
选择安装为服务 |
在此设置服务名,还有运行该服务的Windows帐号。你可以输入一个已有帐号,也可以输入一个目前并不存在的帐号,让安装程序自动建立这个帐号。
自动创建帐号 |
创建帐号完毕后,就是要配置数据库的监听端口、连接许可,及本地区域和超级用户的设置了。(注意,我选择的是“中华人民共和国)这儿建立的超级帐号是数据库管理员用户,注意与前面的服务帐号区别。注意这个对话框只有你在上一步选择了让PostgreSQL作为一个系统服务运行才会出现。
初始化数据库设置 |
点击下一步后,会弹出一个远程连接的选项,提示本地连接数据库默认都可以被接受,但是如果想让远程计算机也能连接到数据库的话,你需要在安装完成后,单独设置pg_hba.conf文件,具体设置我们在后面再说明。
选择在默认创建的测试数据库template1中激活的过程语言,PL/perl需要ActiveState Perl 5.8的安装支持,PL/python则Python 2.3的支持,我这儿只选择了pgsql了。注意这个对话框只有你在选择了让PostgreSQL作为一个系统服务运行,并且选择了初始化数据库组件后才会出现。
选择过程语言 |
选择在测试数据库template1中激活的模块,所有的扩展文件都是会被安装上,这一步只是选择在你所有的数据库中默认激活哪些模块。这些扩展模块能提供一些增强的功能。
选择加载扩展模块 |
ok,至此安装配置参数就已经配完了,你只需要点下一步等待安装完成就可以了,PostgreSQL安装速度极快,根据机器不同时间略有不同。最后出现安装成功界面。
开始安装 |
安装结束界面 |
重新起动后,发现在开始菜单程序里多了PostgreSQL 8.1的程序组,并且在任务管理器了多了几个进程,如下图。
安装后程序菜单 |
安装后进程 |
客户端连接设置
PostgreSQL出于安全考虑,默认是拒绝所有远程客户端的连接的,如果你要想远程登录服务器端的话,需要设置pg_hba.conf,从开始菜单-->程序-->Postgresql 8.1-->configuration files中选择编辑pg_hba.conf。
编辑pg_hba.conf |
修改为如下内容:
# IPv4 local connections:
host all all 127.0.0.1/32 md5
host all all 192.168.9.226/32 md5
这样表示本机和192.168.9.226这台机器可以通过经过MD5加密的密码连接数据库。通过修改IP地址的掩码,也可以允许哪一个段的地址可以连接服务器。另外,认证方式MD5还可以改为trust,表示完全信任这个地址的连接(这一点在调试程序时比较方便)。改为password,表示通过密码连接,但是密码以明文方式发送。设置完后,需要重新启动PostgreSQL才能生效。
客户端连接测试
经过上面的安装和设置,一个最简单的PostgreSQL数据库服务器就已经建立起来了,接下来我们看看我们如何在这个数据库服务器上实现以下几个建达的任务:1.新建、删除一个数据库;2.新建、删除一个表。
通过上面的安装过程,有两种方式可以用来访问操作数据库。
通过psql to postgres方式
从开始菜单-->程序-->Postgresql 8.1-->psql to postgres,输入安装时指定的超级用户的密码,如下图
输入密码 |
输入密码后,进入命令行界面
psql操作界面 |
输入create database mydb;创建一个数据库mydb;通过drop database mydb删除不想要的数据库mydb;
通过create table myfirsttb(firstcol integer,secondcol text);创建一个表myfirsttb,通过drop table myfirsttb;删除表myfirsttb。
更多的命令请到http://www.pgsqldb.org查询相关文档。
通过图形化工具pgAdmin来管理数据库
从开始菜单-->程序-->Postgresql 8.1-->pgAdmin III,如下图
图形化界面 |
右键点击PostgreSQL Database Server 8.1(localhost:5432),点击连接(connect),由于我在pg_hba.conf中设置本地连接也要通过密码,弹出如下对话框。
输入超级用户的口令窗口 |
输入超级用户口令,进入图形化管理界面
图形化管理界面 |
在这儿你可以轻松直观的管理数据库,具体俺就不多说了。
另外通过其他的一些图像化管理工具也可以管理操作PostgreSQL数据库,例如用EMS PostgreSQL Manager (必须2.7以上版本才支持postgresql8.0以上版本)进行管理。
从安装过程来看,在Windows上安装PostgreSQL已经是一件很简单的事了,即时是像笔者一样新手也可以根据向导成功安装,你可以在没有管理权限的情况下进行安装。因为这是支持Windows(没有Cygwin)的PostgreSQL 版本,PostgreSQL 作为服务安装,在机器重启之后可以没有问题的启动。
PostgreSQL 的最小资源需求非常低。例如在远程连接的时候,打开网络浏览器和MS-Word ,可以看到在测试机器上面没有受到任何影响。
如果说到不足之处,由于使用PostgreSQL的用户还不像使用MySQL的用户那么广泛,因此这方面网上交流的论坛还不是很活跃,对新手的入门是一个障碍。相信这一点也会逐渐改善。