La *_* PT 6 database postgresql pattern-matching
使用pgAdmin III,我可以在postgresql服务器上列出所有数据库.
但是使用pgAdmin,我当时只能删除1个数据库.需要花费大量时间来删除,例如,30个数据库,一个接一个......
那么,您的删除方法是什么,例如,所有名称中包含"june"一词的数据库?
可能我将不得不构建一个Bash脚本.没问题.但是你会在这个脚本中使用哪个命令?
我已经在网上搜索了好几个小时而没有成功解决这个问题......
感谢帮助.
psql -c "copy (select datname from pg_database where datname like '%june%') to stdout" | while read line; do
echo "$line"
#dropdb -i "$line"
done
Run Code Online (Sandbox Code Playgroud)
或者使用for
更可靠的循环(while
在父上下文中执行的块,因此有必要为其主体执行一些额外的移动):
for dbname in $(psql -c "copy (select datname from pg_database where datname like '%june%') to stdout") ; do
echo "$dbname"
#dropdb -i "$dbname"
done
Run Code Online (Sandbox Code Playgroud)
此外选项-X
为psql
(不使用~/.psqlrc
文件)可以很好的避免不必要的输出.
对于psql
和dropdb
实用程序,您可能需要提供连接选项(请参阅文档)
归档时间: |
|
查看次数: |
1154 次 |
最近记录: |