質問をすることでしか得られない、回答やアドバイスがある。

15分調べてもわからないことは、質問しよう!

新規登録して質問してみよう
ただいま回答率
85.50%
PostgreSQL

PostgreSQLはオープンソースのオブジェクトリレーショナルデータベース管理システムです。 Oracle Databaseで使われるPL/SQLを参考に実装されたビルトイン言語で、Windows、 Mac、Linux、UNIX、MSなどいくつものプラットフォームに対応しています。

Q&A

解決済

2回答

5236閲覧

PostgresのWAL吐き出しが停止されない

y.sudo

総合スコア19

PostgreSQL

PostgreSQLはオープンソースのオブジェクトリレーショナルデータベース管理システムです。 Oracle Databaseで使われるPL/SQLを参考に実装されたビルトイン言語で、Windows、 Mac、Linux、UNIX、MSなどいくつものプラットフォームに対応しています。

0グッド

0クリップ

投稿2016/10/24 08:34

編集2016/10/24 08:39

お世話になります。

圧縮状態で6.6Gのdumpファイルのリストアを試みたのですが
24h経過しても終了しなかった為、色々調べ、WAL出力を停止させようと
confを修正しましたが、吐き続けてしまいます。

以下の手法、変更点以外に必要な箇所ございますでしょうか。

・環境
PostgreSQL 8.3.7
Red Hat Enterprise Linux Server release 5.3 (Tikanga)

行った操作は以下になります。

===========================
・ダンプ(別サーバだがpostgresのバージョンは一緒)
pg_dump -Fc -U [adminユーザ] -p [port] -d [DB名] > xxxxx.backup

・リストア
pg_restore -v -U [adminユーザ]-p [port] -d [DB名] xxxxx.backup

・postgresql.conf(抜粋)
#fsync = on
fsync = off

#full_page_writes = on
full_page_writes = off

※ 上記以降で記述が上書きされていないことも確認済
※ 編集しているconfが読まれていることも確認済(適当な文字挿入でエラー)

・Postgres起動
service postgres start

===========================

上記でリストアを実行し、pg_xlog以下を監視しておりますが
新しいタイムスタンプのものが常に吐き出されております。
リストアを停止すれば出力は止まりますので、リストア以外は動作しておりません。

またリストアの速度も体感では全く変わっておりません。

お手数ですが宜しくお願い致します。

気になる質問をクリップする

クリップした質問は、後からいつでもMYページで確認できます。

またクリップした質問に回答があった際、通知やメールを受け取ることができます。

バッドをするには、ログインかつ

こちらの条件を満たす必要があります。

guest

回答2

0

ベストアンサー

PostgreSQL 8.3.7にて同様なテストを行いましたが、--single-transactionを入れた場合、pg_xlogに書かれる量が格段に少なくなりました。(多少は書かれます)
但し、テストのデータが少量(200M)なのでもっと大量だと答えが変わるかもしれませんが。

WORKAROUNDですが、圧縮状態で6.6Gの様な大量の場合、移行先のPostgresのバージョンが同じであれば、移行元pgdataの有るディレクトリをOFFLINEでtarで丸固めして移行先へ展開する方法を行なったりします。(全コピーですが)
WAR問題へのお答えでなくてすみません。

投稿2016/10/25 01:17

A.Ichi

総合スコア4070

バッドをするには、ログインかつ

こちらの条件を満たす必要があります。

y.sudo

2016/11/02 03:04

返信遅くなりまして大変申し訳ございません。 また、再現テストまでしていただき、誠にありがとうございます。 pg_xlogに完全に記述されなくなると思い込んでおりましたが 多少は書かれてしまうものなのですね。 あれからリストアを放置しつつ模索していたのですが 結局リストアは丸三日かかって正常終了しました。 (速くなって三日なのかはまだ検証できておりません。。) オフラインバックアップについても頭によぎってはいたのですが 停止の調整や手順も不明確でしたので、試せていませんでした。 リストア先に既に別のスキーマもあるので、できればbaseの中の OIDディレクトリ個別でできると嬉しいのですが、色々調べても その手順は見つからない為、引き続き調べてみたいと思います。
A.Ichi

2016/11/02 03:35

pg_dumpにて「別のスキーマ」を抜き出して(--schema=schema指定)、オフラインリストア後にリストアするのは(違いがそれだけで有ればですが)。
y.sudo

2016/11/02 04:36

ご回答ありがとうございます。 なるほど、オフラインとオンラインの両方ですか。確かに盲点でした。 今なら比較的既存の方も容量が小さい為、その手順で行えそうですので 一度試してみます。 度々ありがとうございます!
guest

0

これは参考になりませんか。

投稿2016/10/24 08:52

ikedas

総合スコア4227

バッドをするには、ログインかつ

こちらの条件を満たす必要があります。

y.sudo

2016/10/24 09:28

ご回答ありがとうございます。 こちらのページも拝見しておりましたが、再度確認し、 --single-transactionオプションを見落としておりましたので 上記を付与してリストアを実行しましたが、WALは出力され続け 速度も変更ありませんでした。。 念のためSHOW ALLで設定を確認し、archive_modeもoffになって おりました。
guest

あなたの回答

tips

太字

斜体

打ち消し線

見出し

引用テキストの挿入

コードの挿入

リンクの挿入

リストの挿入

番号リストの挿入

表の挿入

水平線の挿入

プレビュー

15分調べてもわからないことは
teratailで質問しよう!

ただいまの回答率
85.50%

質問をまとめることで
思考を整理して素早く解決

テンプレート機能で
簡単に質問をまとめる

質問する

関連した質問