<?xml version="1.0" encoding="UTF-8"?>
<rss version="2.0">
	<channel>
		<title><![CDATA[Latest posts for the topic "Upgrade PostgreSQL 8.1 to PostgreSQL 8.4 on CentOS 5.5"]]></title>
		<link>https://forum.andowson.com/posts/list/12.page</link>
		<description><![CDATA[Latest messages posted in the topic "Upgrade PostgreSQL 8.1 to PostgreSQL 8.4 on CentOS 5.5"]]></description>
		<generator>JForum - http://www.jforum.net</generator>
			<item>
				<title>Upgrade PostgreSQL 8.1 to PostgreSQL 8.4 on CentOS 5.5</title>
				<description><![CDATA[ CentOS 5.5支援到PostgreSQL 8.4資料庫，先前的資料庫版本是8.1，由於只能有一版存在，必須移除舊版才行，整個升級過程大致如下： 
<br>
<br>
1.建立備份用的目錄 
<br>
[code]# mkdir /pgbak 
<br>
# chown postgres:postgres /pgbak/[/code] 
<br>
2.備份舊的資料 
<br>
[code]# su - postgres 
<br>
$ pg_dumpall --globals-only &gt; /pgbak/globals.sql 
<br>
$ psql -l 
<br>
$ pg_dump --create --oids --format=c --verbose --file=/pgbak/dbX dbX 
<br>
$ exit[/code] 
<br>
dbX就是您資料庫的名稱(用psql -l指令可以找出有哪些資料庫) 
<br>
<br>
3.停止PostgreSQL資料庫服務 
<br>
[code]# /etc/init.d/postgresql stop[/code] 
<br>
4.將舊的目錄備份起來 
<br>
[code]# mv /var/lib/pgsql/data /pgbak[/code] 
<br>
5.移除舊的postgresql 8.1套件 
<br>
[code]# yum remove postgresql*[/code] 
<br>
( :!: 注意相關性會移除httpd, mod_ssl等) 
<br>
6.安裝新的postgresql84套件 
<br>
[code]# yum install postgresql84-server[/code] 
<br>
7.初始資料庫 
<br>
[code]service postgresql initdb[/code] 
<br>
8.啟動資料庫 
<br>
[code]# chkconfig postgresql on 
<br>
# service postgresql start[/code] 
<br>
9.復原資料 
<br>
[code]# su - postgres 
<br>
$ psql -f /pgbak/globals.sql 
<br>
$ pg_restore --create -d postgres /pgbak/dbX 
<br>
$ exit[/code] 
<br>
10.參考/pgbak/data目錄下的檔案，修改/var/lib/pgsql/data/postgresql.conf和pg_hba.conf等設定檔 
<br>
再重新啟動一次postgresql 
<br>
[code]#service postgresql restart[/code] 
<br>
<br>
11.安裝回被移除的套件 
<br>
[code]# yum install httpd mod_ssl[/code] 
<br>
12.使用備份的設定檔 
<br>
[code]# mv /etc/httpd/conf/httpd.conf /tmp/. 
<br>
# mv /etc/httpd/conf/httpd.conf.rpmsave /etc/httpd/conf/httpd.conf 
<br>
# mv /etc/httpd/conf.d/proxy_ajp.conf /tmp/. 
<br>
# mv /etc/httpd/conf.d/proxy_ajp.conf.rpmsave /etc/httpd/conf.d/proxy_ajp.conf 
<br>
# mv /etc/httpd/conf.d/ssl.conf /tmp/. 
<br>
# mv /etc/httpd/conf.d/ssl.conf.rpmsave /etc/httpd/conf.d/ssl.conf[/code] 
<br>
<br>
參考資料： 
<br>
http://blog.lystor.org.ua/2010/05/upgrading-postgresql-81-to-84-centos-55.html 
<br>
<br>
http://www.postgresonline.com/journal/archives/144-An-almost-idiots-guide-to-Install-and-Upgrade-to-PostgreSQL-8.4-with-Yum.html]]></description>
				<guid isPermaLink="true">https://forum.andowson.com/posts/preList/476/986.page</guid>
				<link>https://forum.andowson.com/posts/preList/476/986.page</link>
				<pubDate><![CDATA[Sat, 2 Apr 2011 21:50:02]]> GMT</pubDate>
				<author><![CDATA[ andowson]]></author>
			</item>
	</channel>
</rss>