はじめに
以前、プリザンター(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を使用する機会がないので、いい経験になりました!また、プライベートで色々試してみようかなと思います!