Postgres: bash スクリプトから再作成/再読み込みする前にデータベース全体をクリアする 質問する

Postgres: bash スクリプトから再作成/再読み込みする前にデータベース全体をクリアする 質問する

私は次のことを実行するシェル スクリプト (cronjob になります) を書いています:

1: 本番データベースをダンプする

2: ダンプを開発データベースにインポートする

ステップ 1 と 2 の間で、開発データベースをクリアする必要があります (すべてのテーブルを削除しますか?)。これをシェル スクリプトから実行するにはどうすればよいでしょうか? これまでのところ、次のようになります。

#!/bin/bash
time=`date '+%Y'-'%m'-'%d'`
# 1. export(dump) the current production database
pg_dump -U production_db_name > /backup/dir/backup-${time}.sql

# missing step: drop all tables from development database so it can be re-populated

# 2. load the backup into the development database
psql -U development_db_name < backup/dir/backup-${time}.sql

ベストアンサー1

データベースを削除して再作成するだけです。UNIX または Linux システムでは、次のようにすれば完了です。

$ dropdb development_db_name
$ createdb development_db_name

実際、私はそうやってやってます。

おすすめ記事