How to create a Function to truncate all Tables created by Particular User
In this post, I am sharing a PostgreSQL user define a function to truncate all Tables which are created by particular X User.
Sometimes, Database administrator or Database Developer creates a user only for test purpose, and this TEST user created an N number of test rows or tables which are required drop or truncate.
Using this function, you can truncate all tables of a database with the help of Owner and Schema input parameters.
CREATE OR REPLACE FUNCTION fn_TruncateAllTable ( InputUserName CHARACTER VARYING ,InputSchemaName CHARACTER VARYING ) RETURNS void AS $$ DECLARE statements CURSOR FOR SELECT tablename FROM pg_tables WHERE tableowner = InputUserName AND schemaname = InputSchemaName; BEGIN FOR stmt IN statements LOOP EXECUTE 'TRUNCATE TABLE ' || quote_ident(stmt.tablename) || ' CASCADE;'; END LOOP; END; $$ LANGUAGE plpgsql;
Comments
Post a Comment