среда, 16 марта 2011 г.

Удалить все таблицы из базы данных - PostreSQL

Создаем скрипт droptables.bash

#!/bin/bash
psql -t -d $1 -c "SELECT 'DROP TABLE ' || n.nspname || '.' || \
c.relname || ' CASCADE;' FROM pg_catalog.pg_class AS c LEFT JOIN \
pg_catalog.pg_namespace AS n ON n.oid = c.relnamespace WHERE relkind = \
'r' AND n.nspname NOT IN ('pg_catalog', 'pg_toast') AND \
pg_catalog.pg_table_is_visible(c.oid)" > /tmp/droptables

psql -d $1 -f /tmp/droptables
rm -f /tmp/droptables
запускаем и в параметре указываем название базы, из которой будут удалены все таблицы
#su postgres
#./droptables.bash db_name
 

Комментариев нет:

Отправить комментарий