如何从PostgreSQL9.1.7升级到9.2.4

如何从PostgreSQL9.1.7升级到9.2.4,第1张

具体过程如下:

步骤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.安装介绍可浏览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相关插件、驱动或工具。

选择<远程服务器

进行软件下载及安装。

至此,完整软件包的安装结束。

安装组件

客户端安装

sudo apt-get install postgresql-client

服务器安装

sudo apt-get install postgresql postgresql-contrib

获取Installing PostGIS, procedural languages, client interfaces等插件列表

apt-cache search postgres

Ruby PG gem安装,需要生成Native Extension

首先安装相应package

sudo apt-get install libpq-dev

找到pg_config所在位置

sudo find / -name pg_config

安装pg gem

gem install pg -- --with-pg-config=/usr/bin/pg_config

服务器配置

设置postgres用户,用postgres用户登录并修改密码

sudo -u postgres psql postgres

为postgres用户设置密码

\password postgres

创建新数据库

sudo -u postgres createdb mydb

服务器高级设置

创建用户

sudo -u postgres createuser --superuser $USER

sudo -u postgres psql

postgres=# \password $USER

管理用户及权限

编辑/etc/postgresql/current/main/postgresql.conf文件用以监听其它网络

listen_addresses = '*'

创建新用户tesdb及该用户所拥有的数据库testdb

sudo -u postgres createuser -D -A -P testdb

sudo -u postgres createdb -O testdb testdb

编辑/etc/postgresql/current/main/pg_hba.conf文件,允许testdb用户远程连接testdb数据库

host testdb testdb 0.0.0.0/0 md5

重新加载配置

sudo /etc/init.d/postgresql reload

重启数据库

sudo /etc/init.d/postgresql restart


欢迎分享,转载请注明来源:内存溢出

原文地址:https://54852.com/sjk/10809102.html

(0)
打赏 微信扫一扫微信扫一扫 支付宝扫一扫支付宝扫一扫
上一篇 2023-05-11
下一篇2023-05-11

发表评论

登录后才能评论

评论列表(0条)

    保存