如何安装PostgreSQL 9.2.4 For Windows 如何安装PostgreSQL 9.2.4 For Windo...

作者&投稿:唐毅 (若有异议请与网页底部的电邮联系)
一、安装准备1.安装介绍可浏览PostgreSQL在Windows
平台下的下载页面,了解各种下载和安装PostgreSQL的方法。
在Windows上安装PostgreSQL最简单的方法是从前面的下载页面下载由EnterpriseDB公司维护的一键安装程序,这个安装程序将在Windows上安装一个已编译好的PostgreSQL数据库软件、一个图形界面的管理程序pgAdmin、可选择的有附加功能的增值模块和过程语言。另外一个名叫StackBuilder的软件也会安装上,它可以帮助你下载或安装附加模块,如ODBC或JDBC驱动
2.安装环境Win7旗舰版64位
postgresql-9.2.4-1-windows-x64.exe
二、安装过程1.
开始安装2.
选择安装目录3.
选择数据存放目录
4.选择数据存放目录
该目录在以后的使用过程中可以修改调整。5.
输入超级用户口令6.
监听端口号设置
默认即可,以后使用中可以通过修改postgresql.conf进行调整。7.
高级选项-语言环境设置选择Default locale
即可,中文简体
新加坡(Chinese[Simplified],
Singapore)未做尝试,据说会导致查询结果和排序效果不正确。8.
安装进度9.
安装结束之后可以利用
Stack Builder工具安装PostgreSql相关插件、驱动或工具。
选择<远程服务器
进行软件下载及安装。
至此,完整软件包的安装结束。

具体过程如下:
步骤1:安装postgreSQL 9.2.4
具体过程参见:如何安装PostgreSQL 9.2.4 For Windows?

步骤2:配置鉴权口令文件
pg_upgrade会在升级过程中多次连接新旧数据库,所以可以在pg_hba.conf中将鉴权方式设为"Trust"或者在使用MD5鉴权方式下配置pgpass.conf文件(文件位置:%APPDATA%\postgresql\pgpass.conf)。这样可以避免在升级过程中提示鉴权失败而导致升级不能正常进行。待升级成功后可以移除或清空文件内容。

步骤3:安装插件
将旧数据库服务器中使用的插件同样安装至新数据库服务器中。

步骤4:停止新旧数据库服务
通过命令行或服务管理界面进行

出现问题:

原因:未使用管理员权限运行命令提示符(CMD)

步骤5:用非windows系统管理员权限用户做升级前准备
RUNAS /USER:postgres "CMD.EXE"
SET PATH=D:\Program Files\PostgreSQL\9.2\bin;%PATH%;

步骤6:进入postgres用户目录,执行pg_upgrade(如果环境变量设置正确,会使用新版本下的pg_upgrade),会有升级相应的日志文件生成于此
命令格式:pg_upgrade -b oldbindir -B newbindir -d olddatadir -D newdatadir [option...]
其中会使用 - r 参数:作用是在系统升级成功后仍然保留日志文件。

如果升级过程中出现问题,可以通过windos事件检查器及相应升级日志文件进行分析。
pg_upgrade_internal.log
pg_upgrade_restore.log
pg_upgrade_server.log
pg_upgrade_server_start.log
pg_upgrade_utility.log

出现问题:
(1) 没有配置pgpass.conf或pg_hba.conf,检查日志文件有如下错误信息
could not connect to old postmaster started with the command:
"D:/Program Files (x86)/PostgreSQL/9.1/bin/pg_ctl" -w -l "pg_upgrade_server.log" -D "D:/Users/lv/Data/PostgreSQL/9.1" -o "-p 50432 -b " start
cannot write to log file pg_upgrade_server.log

(2) PATH环境变量配置错误引起的失败
手册上的示例为:SET PATH=%PATH%;C:\Program Files\PostgreSQL\9.0\bin; 这样旧数据库服务器环境变量将会使其路径优先被搜索到,导致提示该版本下的pg_upgrade不支持升级到新数据库版本。

(3) 失败后根据提示重新用initdb生成数据库时未创建用户postgres

(4) 创建用户时未创建口令,检查pg_upgrade_internal.log,有如下错误信息
connection to database failed: fe_sendauth: no password supplied

(5) 升级进程未结束再次运行pg_upgrade不成功
可以在进程管理中停止所有postgresql进程,然后重新进行升级

(6) 升级成功后,日志文件被自动删除,可以在命令行中用-r参数指定保留。

步骤7:恢复对配置文件(pg_hba.conf,postgresql.conf)进行的修改
主要是将鉴权方式修改回比较安全的模式

步骤8:升级后处理
升级完成后,pg_upgrade会提示需要运行脚本或批处理文件检查新数据库服务器及删除旧数据库服务器数据。

1.开始安装
2.选择安装目录

3.选择数据存放目录
4.选择数据存放目录
该目录在以后的使用过程中可以修改调整。
5.输入超级用户口令
6.监听端口号设置
默认即可,以后使用中可以通过修改postgresql.conf进行调整。
7.高级选项-语言环境设置
选择Default locale即可,中文简体 新加坡(Chinese[Simplified], Singapore)未做尝试,据说会导致查询结果和排序效果不正确
8.安装进度
9.安装结束
之后可以利用Stack Builder工具安装PostgreSql相关插件、驱动或工具。
选择<远程服务器>进行软件下载及安装。
至此,完整软件包的安装结束。

如何从PostgreSQL9.1.7升级到9.2.4~

具体过程如下:
步骤1:安装postgreSQL 9.2.4
具体过程参见:如何安装PostgreSQL 9.2.4 For Windows?

步骤2:配置鉴权口令文件
pg_upgrade会在升级过程中多次连接新旧数据库,所以可以在pg_hba.conf中将鉴权方式设为"Trust"或者在使用MD5鉴权方式下配置pgpass.conf文件(文件位置:%APPDATA%\postgresql\pgpass.conf)。这样可以避免在升级过程中提示鉴权失败而导致升级不能正常进行。待升级成功后可以移除或清空文件内容。

步骤3:安装插件
将旧数据库服务器中使用的插件同样安装至新数据库服务器中。

步骤4:停止新旧数据库服务
通过命令行或服务管理界面进行

出现问题:

原因:未使用管理员权限运行命令提示符(CMD)

步骤5:用非windows系统管理员权限用户做升级前准备
RUNAS /USER:postgres "CMD.EXE"
SET PATH=D:\Program Files\PostgreSQL\9.2\bin;%PATH%;

步骤6:进入postgres用户目录,执行pg_upgrade(如果环境变量设置正确,会使用新版本下的pg_upgrade),会有升级相应的日志文件生成于此
命令格式:pg_upgrade -b oldbindir -B newbindir -d olddatadir -D newdatadir [option...]
其中会使用 - r 参数:作用是在系统升级成功后仍然保留日志文件。

如果升级过程中出现问题,可以通过windos事件检查器及相应升级日志文件进行分析。
pg_upgrade_internal.log
pg_upgrade_restore.log
pg_upgrade_server.log
pg_upgrade_server_start.log
pg_upgrade_utility.log

出现问题:
(1) 没有配置pgpass.conf或pg_hba.conf,检查日志文件有如下错误信息
could not connect to old postmaster started with the command:
"D:/Program Files (x86)/PostgreSQL/9.1/bin/pg_ctl" -w -l "pg_upgrade_server.log" -D "D:/Users/lv/Data/PostgreSQL/9.1" -o "-p 50432 -b " start
cannot write to log file pg_upgrade_server.log

(2) PATH环境变量配置错误引起的失败
手册上的示例为:SET PATH=%PATH%;C:\Program Files\PostgreSQL\9.0\bin; 这样旧数据库服务器环境变量将会使其路径优先被搜索到,导致提示该版本下的pg_upgrade不支持升级到新数据库版本。

(3) 失败后根据提示重新用initdb生成数据库时未创建用户postgres

(4) 创建用户时未创建口令,检查pg_upgrade_internal.log,有如下错误信息
connection to database failed: fe_sendauth: no password supplied

(5) 升级进程未结束再次运行pg_upgrade不成功
可以在进程管理中停止所有postgresql进程,然后重新进行升级


(6) 升级成功后,日志文件被自动删除,可以在命令行中用-r参数指定保留。

步骤7:恢复对配置文件(pg_hba.conf,postgresql.conf)进行的修改
主要是将鉴权方式修改回比较安全的模式

步骤8:升级后处理
升级完成后,pg_upgrade会提示需要运行脚本或批处理文件检查新数据库服务器及删除旧数据库服务器数据。

rade_internal.log,有如下错误信息
connection to database failed: fe_sendauth: no password supplied

(5) 升级进程未结束再次运行pg_upgrade不成功
可以在进程管理中停止所有postgresql进程,然后重新进行升级

(6) 升级成功后,日志文件被自动删除,可以在命令行中用-r参数指定保留。

步骤7:恢复对配置文件(pg_hba.conf,postgresql.conf)进行的修改
主要是将鉴权方式修改回比较安全的模式

步骤8:升级后处理
升级完成后,pg_upgrade会提示需要运行脚本或批处理文件检查新数据库服务器及删除旧数据库服务器数据。