13
1

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?

More than 1 year has passed since last update.

OSSのノーコード・ローコード開発ツール「プリザンター」Advent Calendar 2022

Day 18

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
1
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
1

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?