postgresql执行模糊批量删除表

DO $$
DECLARE
d varchar(128);
BEGIN
 FOR d IN select 'drop table '||schemaname||'.'||tablename||';' from pg_tables where schemaname||'.'||tablename like '%public.要删除的表前缀%' 
 loop
 EXECUTE d;
 END LOOP;
END;
$$