Става. Но си го написах на перлата.
Georgi Chorbadzhiyski wrote:
Daniel Ivanov wrote:
Изникна един въпрос. След като инкрементиран ъпдейт не е решение за една
база, защото старите данни са модифицирани до неузнаваемост ми се иска
да знам дали има лесен начин за TRUNCATE на всяка таблица в дадена схема.
Има.
#!/bin/sh
PGHOST="db"
PGDATABASE="test"
PGUSER="user"
PGPASSWORD="pass"
export PGHOST PGDATABASE PGUSER PGPASSWORD
PATH="/usr/bin:/usr/local/bin:/usr/local/pgsql/bin"
PSQL=`which psql`
tables=`$PSQL -t $PGDATABASE -c "SELECT DISTINCT
c.oid::pg_catalog.regclass
FROM
pg_catalog.pg_index x
JOIN pg_catalog.pg_class c ON c.oid = x.indrelid
JOIN pg_catalog.pg_namespace n ON c.relnamespace = n.oid
WHERE nspname NOT LIKE 'pg\\\\_%'"`
IFS='
'
for table in $tables; do
$PSQL $PGDATABASE -c "TRUNCATE $table"
done