22 апреля 2021 26 августа 2022 СуБД Postgresql psql bash awk for drop table cascade | решать тесты
Знаете ли вы другой способ удаления группы таблиц в Postgres
Скрипт каскадного удаления таблиц в psql
for t in $(echo '\dt' | psql $data_base |awk -F\| '{print $2}'); do
echo "drop table $t cascade;" ;
done | psql $data_base
Суть скрипта проста:
- echo '\dt' | psql $database # выводит список таблиц базы данных из переменной $database
- awk -F\| '{print $2}' # вывести второй столбец из списка
- do echo "drop table $t cascade;" ; done # тело цикла формирующее набор SQL команд
- | psql $database # выполнить SQL код
#4 2023-10-03 09:07:46
гость
Можно ещё проще echo '\dt' | psql $BASE |grep table | awk '{print "drop table", $3, "cascade;"}' | psql $BASE