LoginSignup
13
0

More than 1 year has passed since last update.

Windows + PostgreSQL構成のプリザンターのバックアップ取得

Last updated at Posted at 2022-12-18

はじめに

以前、プリザンター(Windows + PostgreSQL構成)のDBのバックアップを取得する簡易的なプログラムを作成したので、備忘録として残しておきたいと思います。

Pythonダウンロード・インストール

ダウンロード

下記ページよりダウンロードします。

インストール

ダウンロードしたインストーラを起動し、Pythonをインストールします。
参考:https://www.javadrive.jp/python/install/index1.html#section2

PostgreSQLダウンロード・インストール

ダウンロード

下記ページよりダウンロードします。

インストール

ダウンロードしたインストーラを起動し、PostgreSQLをインストールします。
参考:https://www.javadrive.jp/postgresql/install/index1.html#section2

パス追加

環境変数「Path」に「C:\Program Files\PostgreSQL\14\bin」を追加します。
参考:https://www.javadrive.jp/postgresql/install/index3.html#section1

パスワード省略設定

システム環境変数に変数「PGPASSWORD」を追加します。値はインストール時に設定したpostgresのパスワード。

Pleasanterダウンロード・インストール

ダウンロード

下記ページよりダウンロードします。

インストール

ユーザマニュアルを参考にインストールします。

プログラム

下記プログラムをタスクスケジューラに登録して定期実行する。
参考:https://laboratory.kazuuu.net/using-task-scheduler-to-automate-python-scripts-windows-10/

from datetime import datetime
import subprocess

#Variables
user = "postgres"
database = "Implem.Pleasanter"
dest_dir = "C:\\backup\\"
dump_file = f"{dest_dir}{database}_{datetime.now().strftime('%Y%m%d%H%M%S')}.dump"
command = f"pg_dump -U {user} -Fc -f {dump_file} {database}"

#Take a backup of the database (Implem.Pleasanter)
try:
    subprocess.check_call(command)
except:
    print("Error.")

さいごに

普段はPythonを使用する機会がないので、いい経験になりました!また、プライベートで色々試してみようかなと思います!

13
0
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
13
0