小编典典

Postgres:在从 bash 脚本重新创建/重新填充之前清除整个数据库

all

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

阅读 67

收藏
2022-07-30

共1个答案

小编典典

我只是删除数据库然后重新创建它。在 UNIX 或 Linux 系统上,应该这样做:

$ dropdb development_db_name
$ createdb development_db_name

实际上,我就是这样做的。

2022-07-30