PostgreSQL迁移方法

h2appy博客 发表于:12年05月02日 15:30 [转载] 51CTO

  • 分享:
[导读]介绍关于PostgreSQL迁移时需要做哪些工作

备份:

set PGPASSWORD=密码

set PGCLIENTENCODING=UTF8

pg_dumpall -U postgres > backup_file

恢复:

set PGPASSWORD=密码

set PGCLIENTENCODING=UTF8

psql -U postgres < backup_file

升级(当然要把以前的数据迁移到新系统):

目前我在Windows XP上用的PostgreSQL的版本是8.1,既然有新版本8.3.4出来了,就想升级到这个版本。

一般小版本升级,如把8.3.1升级到8.3.4,只需要升级程序就可用,原来的数据仍然可用。可是如果把8.1升级到8.3.x就要

用pg_dump或pg_dumpall和psql或pg_restore命令了。

如果能两个系统同时存在,可以用命令:

pg_dumpall -p 5432 | psql -d template1 -p 6543

我在使用时,提示Administrator密码不对,于是使用命令

pg_dumpall -U postgres -p 5432 | psql -U postgres -p 6543

**如果有多个数据库要迁移,就要输入多次密码,比较烦。

Linux下先执行下面命令:

export PGPASSWORD=密码

要用密码文件的话先执行下面命令:

export PGPASSFILE=/文件路径/.pgpass

同样,在Windows下也是先执行下面命令:

set PGPASSWORD=密码

或使用密码文件,先执行下面命令:

set PGPASSFILE=/文件路径/.pgpass

再执行pg_dump、pg_dumpall等命令就不会提示要密码了。

windows下pgpass.conf在C:\Documents and Settings\username\Application Data\postgresql\pgpass.conf

**另外,可能在中文下出现编码问题,Linux下先执行下面命令:

export PGCLIENTENCODING=UTF8

再执行pg_dumpall等命令,就没事了。

在windows下,先执行的命令是:

set PGCLIENTENCODING=UTF8

PostgreSQL自带的帮助文档“PostgreSQL Help”上有更详细的备份、恢复、升级等信息。

下面内容摘自PostgreSQL文档:

28.12. 口令文件

用户家目录中的 .pgpass 或者 PGPASSFILE 引用的文件是一个可以包含口令的文件。如果连接要求口令(并且没有用其它方法声明口令),那么可以用它。在 Microsoft Windows 上,文件名字是 %APPDATA%\postgresql\pgpass.conf (这里的 %APPDATA% 指用户配置里的 Application Data 子目录)。

这个文件应该有下面这样的格式行:

hostname:port:database:username:password

头四个字段每个都可以是一个文本值,或者 *,它匹配所有的东西。第一个匹配当前连接参数的口令行的口令域将得以使用。(因此,如果你使用了通配符,那么应该把最具体的记录放在前面。)如果记录包含 : 或者 \ ,应该用 \ 逃逸。一个 localhost 的主机名匹配来自本机的 host(TCP)和 local (Unix 域套接字)。

.pgpass 的权限必须不允许任何全局或者同组的用户访问;我们可以用命令 chmod 0600 ~/.pgpass 实现这个目的。如果权限比这个松,这个文件将被忽略。(不过目前在 Microsoft Windows 上没有检查这个文件的权限。)

[责任编辑:赵航]
咸师
中国企业信息化从90年代初期开始起步,经过20年的发展,许多企业尤其是大中型企业的IT架构已经搭建完毕。但是,中国企业信息化建设有一个非常显著的特点是,IT系统建设是根据企业各个阶段的需求完成,并没有一个整体的规划。这就导致企业各个IT系统是孤立的,各个系统无法有效地连接起来。
官方微信
weixin
精彩专题更多
存储风云榜”是由DOIT传媒主办的年度大型活动。回顾2014年,存储作为IT系统架构中最基础的元素,已经成为了推动信息产业发展的核心动力,存储产业的发展迈向成熟,数据经济的概念顺势而为的提出。
华为OceanStor V3系列存储系统是面向企业级应用的新一代统一存储产品。在功能、性能、效率、可靠性和易用性上都达到业界领先水平,很好的满足了大型数据库OLTP/OLAP、文件共享、云计算等各种应用下的数据存储需求。
联想携ThinkServer+System+七大行业解决方案惊艳第十六届高交会
 

公司简介 | 媒体优势 | 广告服务 | 客户寄语 | DOIT历程 | 诚聘英才 | 联系我们 | 会员注册 | 订阅中心

Copyright © 2013 DOIT Media, All rights Reserved. 北京楚科信息技术有限公司 版权所有.