PostgreSQLデータベースのアップデート方法(Linux版)
ここでは、サーバに Linux OSをお使いになる場合のPostgreSQLデータベースのアップデート方法を説明いたします。
インストールをはじめる前に、動作環境
をご確認ください。
※ここに挙げる手順は一例です。 お客様の環境によっては、手順やインストールディレクトリが異なる場合があります。
※最新のdesknet's FAQにバージョンアップした後にPostgreSQLのアップデートを行ってください。desknet's FAQのバージョンアップ方法は、こちらをご確認ください。
※ユーザーがdesknet's FAQにアクセスしていないタイミングでアップデートを行ってください。
※アップデートを行う前に、必ずデータのバックアップを行っていただきますようお願いいたします。
→詳細は「バックアップとリストア(Linux版)」をご参照ください。
1.telnetでログイン
Windows付属のtelnetやフリーウェアのtelnetツールで、サーバにログインします。
2.データのバックアップ
suコマンドを実行、postgresユーザーにスイッチしてください。
pg_dumpコマンドを実行し、データをバックアップします。
※PostgreSQLデータベースのアップデートの際、textsearch-jaライブラリもバージョンアップするため、バックアップの前にtextsearch-jaの削除を行ってください。
[guest@xxxxxx guest]# su - postgres Password: [postgres@xxxxxx ~]$ psql -U postgres -d dnfaq -f /usr/local/pgsql-8.3.3/share/contrib/uninstall_textsearch_ja.sql [postgres@xxxxxx ~]$ pg_dump -U postgres -Fc -f /tmp/pg83_dnfaq.pgdmp dnfaq [postgres@xxxxxx ~]$ exit |
(データベースが「dnfaq」、tmpディレクトリ下に「pg83_dnfaq.pgdmp」ファイルを保存する場合)
3.PostgreSQLのアンインストール
suコマンドを実行し、rootユーザーにスイッチしてください。
データベースを停止し、chkconfigコマンドでPostgreSQLの自動起動設定を解除してください。
[guest@xxxxxx guest]# su - Password: [root@xxxxxx ~]# /etc/rc.d/init.d/postgresql stop Stopping PostgreSQL: server stopped ok [root@xxxxxx ~]# chkconfig --del postgresql [root@xxxxxx ~]# ¥rm /etc/rc.d/init.d/postgresql |
GNU make を使用しPostgreSQLをアンインストールします。
インストール先のディレクトリが残るため、アンインストール後に削除します。
[root@xxxxxx ~]# cd /usr/local/src/postgresql-8.3.3/ [root@xxxxxx postgresql-8.3.3]# gmake uninstall ・ ・ (略) ・ ・ [root@xxxxxx postgresql-8.3.3]# cd /usr/local/ [root@xxxxxx local]# ¥rm -r pgsql |
データベースファイルの格納先を削除します。
この例では、/var/pgsql としています
[root@xxxxxx pgsql]# ¥rm -r /var/pgsql/ |
4.IPA辞書のアンインストール
suコマンドを実行し、rootユーザーにスイッチしてください。
makeコマンドを実行し、IPA辞書をアンインストールします。
[guest@xxxxxx guest]# su - Password: [root@xxxxxx ~]# cd /usr/local/src/mecab-ipadic-2.7.0-20070801/ [root@xxxxxx mecab-ipadic-2.7.0-20070801]# make uninstall ・ ・ (略) ・ ・ [root@xxxxxx mecab-ipadic-2.7.0-20070801]# cd ../ [root@xxxxxx src]# \rm -r mecab-ipadic-2.7.0-20070801/ |
5.Mecabのアンインストール
makeコマンドを実行し、Mecabをアンインストールします。
[root@xxxxxx src]# cd /usr/local/src/mecab-0.97/ [root@xxxxxx mecab-0.97]# make uninstall ・ ・ (略) ・ ・ [root@xxxxxx mecab-0.97]# cd ../ [root@xxxxxx src]# \rm -r mecab-0.97/ |
6.desknet's FAQのインストール
desknet's FAQのインストールを行います。
『インストール方法(Linux版)』をご確認ください。
※PHPもPostgreSQLのバージョンに依存するため、再インストールを行ってください。
7.データのリストア
2でバックアップしたデータをインストールしたPostgreSQLに移行します。
suコマンドを実行、postgresユーザーにスイッチしてください。
データベースを再作成し、pg_restoreコマンドを実行します。
[guest@xxxxxx guest]# su - postgres Password: [postgres@xxxxxx ~]$ dropdb dnfaq [postgres@xxxxxx ~]$ psql -d template1 -c "CREATE DATABASE dnfaq WITH ENCODING='UTF8' OWNER=dnfaq;" [postgres@xxxxxx ~]$ psql -U postgres -d dnfaq -f /usr/local/pgsql/share/contrib/textsearch_ja.sql [postgres@xxxxxx ~]$ pg_restore -v -Fc -U postgres -d dnfaq /tmp/pg83_dnfaq.pgdmp |
(データベースが「dnfaq」、tmpディレクトリ下の「pg83_dnfaq.pgdmp」ファイルをリストアする場合)
8.desknet's FAQへのアクセス
ブラウザを起動し、アドレスバーに下記のURLを入力することでdesknet's FAQへアクセスできます。
ログイン画面の下部に、アップデート後のバージョンが表示されていることを確認してください。
URL例:
http://サーバ名/php/dnfaq/index.php
9.不要なファイルの削除
2でバックアップしたデータを削除します。
(rmコマンドの前に「¥(エンサイン)」をつけると、削除確認を行わないで削除します。)
[postgres@xxxxxx ~]$ \rm /tmp/pg83_dnfaq.pgdmp |
(データベースが「dnfaq」、tmpディレクトリ下に「/tmp/pg83_dnfaq.pgdmp」ファイルを保存する場合)