我在写一个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