我正在编写一个 shell 脚本(将成为一个 cronjob),它将:
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
我只是删除数据库然后重新创建它。在 UNIX 或 Linux 系统上,应该这样做:
$ dropdb development_db_name $ createdb development_db_name
实际上,我就是这样做的。