我在寫一個shell腳本(將成爲一個cronjob)將:Postgres的:明確整個數據庫之前重新創建/重新填充,從bash腳本
1:轉儲我生產數據庫
2 :將轉儲導入我的開發數據庫
在第1步和第2步之間,我需要清除開發數據庫(刪除所有表?)。如何從shell腳本完成這個最好的?到目前爲止,它看起來像這樣:
#!/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
oneliner人着急:'數據庫名= 'DB_NAME' && $ DROPDB DBNAME && $ CREATEDB DBNAME &&的psql -d $ DBNAME -f dump.sql' – ruuter 2016-12-28 00:23:47
這oneliner需要你有權限創建/刪除數據庫。作者正在嘗試的方法不需要特殊的權限。 – ribamar 2017-12-14 15:26:38