FrustratedWithFormsDesigner सही है, PL/pgSQL ऐसा कर सकता है। ये रही स्क्रिप्ट:
CREATE OR REPLACE FUNCTION truncate_tables(username IN VARCHAR) RETURNS void AS $$
DECLARE
statements CURSOR FOR
SELECT tablename FROM pg_tables
WHERE tableowner = username AND schemaname = 'public';
BEGIN
FOR stmt IN statements LOOP
EXECUTE 'TRUNCATE TABLE ' || quote_ident(stmt.tablename) || ' CASCADE;';
END LOOP;
END;
$$ LANGUAGE plpgsql;
यह एक संग्रहीत कार्य बनाता है (आपको इसे केवल एक बार करने की आवश्यकता है) जिसे आप बाद में इस तरह उपयोग कर सकते हैं:
SELECT truncate_tables('MYUSER');