sql >> データベース >  >> RDS >> PostgreSQL

WindowsでのPostgreSQL圧縮アーカイブログ

    多くの人がブログを書き、PostgreSQLでアーカイブログを圧縮する方法をはっきりと提供しています。私は、Windows上にある私の側からの短いバージョンの1つを共有したいと思っています。

    アーカイブストレージが懸念される場合は、PostgreSQLの圧縮アーカイブロギング機能を選択できます。

    $ PGDATA / postgresql.conf の「archive_command(string)」 は、文字列セクションで渡された内容を実行して、完成したソースファイル( $ PGDATA / pg_xlog のWALファイルセグメント)をコピーするシェルコマンドのようなものです。 )目的地(アーカイブの場所 )。 「文字列」は、シェルスクリプト(Windowsではバッチ)自体、OS圧縮ユーティリティ、および特別なツールpg_compresslogのようなものにすることができます。 Windowsでは、cmd.exeはarchive_command「string」で渡されたコマンドを実行します。

    Windowsプラットフォームに適用しているため、前提条件は次のとおりです。

    1. アーカイブディレクトリには、完全なpostgresユーザーアクセスが必要です。 (私の場合は「C:ProgramFilesPostgreSQL9.2archives」)
    2. ウィンドウバージョンのGZIPユーティリティ。優れたWindowsバリアント圧縮ユーティリティは数多くありますが、LinuxとWindowsの両方でサポートされているため、gzipを選択しました。
    3. Gzip.exeは、PostgresユーザーとPATHにアクセスできる必要があります。 (私の場合は「C:ProgramFilesGnuWin32bin」)。

    すべての前提条件が整っていて、次のステップは$ PGDATA / postgresql.confファイルを編集し、アーカイブ関連のパラメーターを変更してクラスターを再起動する必要があると仮定します。

    wal_level=archive
    archive_mode=on
    archive_command = '"C:\Program Files\GnuWin32\bin\gzip.exe -1 " < "%p" > "C:\Program Files\PostgreSQL\9.2\archives\%f.gz"'

    c:Program FilesPostgreSQL9.2bin>pg_ctl.exe -D ..data start (You can also start from services.msc)

    PGのドキュメントによると、変更が加えられ、クラスターが再起動されました。これから、私のアーカイブが圧縮されることを期待しています。ログを見てみましょう:

     2013-07-26 16:07:22 ISTログ:アーカイブコマンドが終了コード1で失敗しました
    2013-07-26 16:07:22 IST詳細:失敗したアーカイブコマンドは次のとおりです: "" "C :Program FilesGnuWin32bingzip.exe "-1 <" pg_xlog
    1. JOINのON句で参照されるテーブルの順序は重要ですか?

    2. 2020年の5つの珍しいMicrosoftAccessのヒント

    3. JasperReportsを使用してOracleのblob列から画像を表示するにはどうすればよいですか?

    4. MariaDBでサーバー照合を取得する3つの方法