Man*_*shD 20 database postgresql
我想删除除少数数据库之外的所有数据库.让我们说有20个数据库,我想删除18个,但保留2个,因为它是最新的并且正在使用中.
请建议.
nta*_*lbs 38
首先,在psql终端中执行以下查询.
select 'drop database "'||datname||'";'
from pg_database
where datistemplate=false;
Run Code Online (Sandbox Code Playgroud)
这将为drop database所有数据库生成命令.将结果复制到文本编辑器中,排除(删除)要保留的内容并将其另存为dd.sql文件.并执行它:
psql -d postgres -f dd.sql
Run Code Online (Sandbox Code Playgroud)
正如接受的答案所表明的那样,删除多个数据库对我来说特别繁琐,因此我编写了一个帮助脚本来减轻此操作:https : //github.com/Kraymer/ezdropdb
简而言之,您输入一个模式,您要禁止的数据库必须匹配,然后列出所有 db 名称结果,并且有一个最终提示,您可以在其中输入要删除的那些(参见项目页面上的屏幕截图)。
| 归档时间: |
|
| 查看次数: |
9730 次 |
| 最近记录: |