Windows下Postgresql下载与配置方法

注意下载的是二进制版,不是带Windows Installer的,即绿色版本

http://www.enterprisedb.com/products-services-training/pgbindownload

x86下载:postgresqwindows

x64下载:postgresqwindowsx64

执行下列步骤前,暂作以下假定:
PostgreSQL拟装在d:postgresql
数据库以后拟存放在d:postgresqldata

首先下载postgresql-9.2.4-1-windows-x64-binaries.zip最新版待用,下列步骤达到手工安装好PostgreSQL,初始化数据库,将PostgreSQL注册为服务。

1、PostgreSQL.zip解压至d:postgresql后,创建一个data目录;

2. 设置环境变量,编辑批处理文件 配置环境变量.vbs(永久生效)

a) 内容如下

on error resume next
set sysenv=CreateObject("WScript.Shell").Environment("system") '系统环境变量的数组对象
Path = CreateObject("Scripting.FileSystemObject").GetFolder(".").Path
'添加变量
sysenv("PGHOME")="D:pgsql"
sysenv("PGHOST")="localhost"
sysenv("Path")=sysenv("PGHOME")+"bin;"+sysenv("Path")
sysenv("PGLIB")=sysenv("PGHOME")+"lib"
sysenv("PGDATA")=sysenv("PGHOME")+"data"
 
wscript.echo "PostgreSQL环境变量安装成功!不需要重新启动计算机啊!"

b) 执行如下:

3、在空白处按住shift点击鼠标右键,新开一个cmd窗口,并cd 至d:postgresqlbin ;

4. 初始化并创建数据库(一次即可)

initdb.exe -D d:postgresqldata -E UTF-8 --locale=chs -U postgres -W

-D :指定数据库簇的存储目录E:pgsqldata

-E :指定DB的超级用户的用户名postgres

--locale:关于区域设置(chinese-simplified-china)

-U :默认编码格式chs

-W :为超级用户指定密码的提示

如下:

4. 启动数据库

注:若未注册为系统服务,则需每次手动启动,否则pgadmin3连接数据库失败

pg_ctl -D d:postgresql -l logfile start

显示如下:

启动后,在数据库安装的主目录下生成一个logfile文件:D:postgresqllogfile

5. 注册为win8系统服务

注:需管理员权限方可

pg_ctl register -N PostgreSQL -D D:postgresqldata

查看已经注册的服务:win+R在弹出的运行框中,输入:services.msc,如下:

net start PostgreSQL 查看是否启动:命令行下输入tasklist

netstat –an 可以查看所有和本地计算机建立连接的IP 卸载服务:同样需要管理员权限,两种方式

1) pg_ctl unregister –N PostgreSQL (win8)

2) sc delete PostgreSQL (PostgreSQL)

6. 配置pgAdmin3客户端

目录为D:postgresqlbin pgAdmin3,双击,配置

注意:此处由于没有slsadmin(自定义的用户),会报错,请使用刚才创建的postgres用户登录,登陆好了之后,使用这个账号创建别的账号

7. 连接数据库成功

如何让postgresql支持远程登录呢?

postgresql默认情况下,远程访问不能成功,如果需要允许远程访问,需要修改两个配置文件,说明如下:

1.postgresql.conf

将该文件中的listen_addresses项值设定为“*”,在9.0 Windows版中,该项配置已经是“*”无需修改。

2.pg_hba.conf

在该配置文件的ipv4配置后面的host all all 127.0.0.1/32 md5行下添加以下配置,或者直接将这一行修改为以下配置

host all all 0.0.0.0/0 md5

如果不希望允许所有IP远程访问,则可以将上述配置项中的0.0.0.0设定为特定的IP值。

注意:listen_addresses项值设定为“*”这个地方默认是被注释掉的,直接该参数,没有去注释的话,还是不能访问的,请使用pgadmin自带的工具去修改

以上就是本文的全部内容,希望对大家的学习有所帮助,也希望大家多多支持来客网。