注意下载的是二进制版,不是带Windows Installer的。
http://www.enterprisedb.com/products-services-training/pgbindownload
x86下载http://get.enterprisedb.com/postgresql/postgresql-9.2.4-1-windows-binaries.zip
x64下载http://get.enterprisedb.com/postgresql/postgresql-9.2.4-1-windows-x64-binaries.zip
执行下列步骤前,暂作以下假定:
PostgreSQL拟装在d:\postgresql
数据库以后拟存放在d:\postgresql\data
首先下载postgresql-9.2.4-1-windows-x64-binaries.zip最新版待用,下列步骤达到手工安装好PostgreSQL,初始化数据库,将PostgreSQL注册为服务。
1、PostgreSQL.zip解压至d:\postgresql后,创建一个data目录;
2. 设置环境变量,编辑批处理文件 配置环境变量.vbs(永久生效)
a) 内容如下
1
2
3
4
5
6
7
8
9
10
11
|
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:\postgresql\bin ;
4. 初始化并创建数据库(一次即可)
initdb.exe -D d:\postgresql\data -E UTF-8 --locale=chs -U postgres -W
-D :指定数据库簇的存储目录E:\pgsql\data
-E :指定DB的超级用户的用户名postgres
--locale:关于区域设置(chinese-simplified-china)
-U :默认编码格式chs
-W :为超级用户指定密码的提示
如下:
4. 启动数据库
注:若未注册为系统服务,则需每次手动启动,否则pgadmin3连接数据库失败
pg_ctl -D d:\postgresql -l logfile start
显示如下:
启动后,在数据库安装的主目录下生成一个logfile文件:D:\postgresql\logfile
5. 注册为win8系统服务
注:需管理员权限方可
pg_ctl register -N PostgreSQL -D D:\postgresql\data
查看已经注册的服务: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:\postgresql\bin\ pgAdmin3,双击,配置
7. 连接数据库成功
如何让postgresql支持远程登录呢?
只需要在服务器端配置
修改两个文件:
postgresql.conf
pg_hba.conf
-----------------
比如环境中db server ip为10.10.3.5,
客户端的ip为10.10.3.5
在postgresql.conf文件添加:
listen_addresses = '*'
在pg_hba.conf文件添加:
host all all 10.10.3.1/24 trust
24表示掩码为255.255.255.0,所以表示对这个子网的所有IP开放了。
就可以在10.10.3.5上访问10.10.3.5了。
完成后执行一下
C:\Windows\System32>net stop PostgreSQL
C:\Windows\System32>net start PostgreSQL