Re: Dropping functions from pg_proc table w/ querry

Поиск
Список
Период
Сортировка
От Ian Barwick
Тема Re: Dropping functions from pg_proc table w/ querry
Дата
Msg-id 6ebc3e08-a2e3-b8f9-773e-0bc24e79e75f@2ndquadrant.com
обсуждение исходный текст
Ответ на Dropping functions from pg_proc table w/ querry  (Wells Oliver <wells.oliver@gmail.com>)
Список pgsql-admin
On 2019/10/30 12:05, Wells Oliver wrote:
> I have this query:
> 
> select * from pg_proc where probin like '%someoldstuff%';
> 
> Which shows abou 20 functions I want dropped. Is there a quick convenient SQL query for dropping all of these? Can't
quitefigure it out.
 

Something like this should do the trick:

     DO
     $$
       DECLARE
         rec RECORD;
       BEGIN
         FOR rec IN
            SELECT n.nspname || '.' || p.proname || '(' || pg_catalog.pg_get_function_arguments(p.oid)  ||')' AS func
              FROM pg_catalog.pg_proc p
         LEFT JOIN pg_catalog.pg_namespace n ON n.oid = p.pronamespace
             WHERE p.proname LIKE 'foo%'
         LOOP
           RAISE NOTICE 'Dropping: %', rec.func;
           EXECUTE 'DROP FUNCTION ' || rec.func;
         END LOOP;
       END;
     $$;


Use at your own risk etc. etc.


Regards

Ian Barwick


-- 
  Ian Barwick                   https://www.2ndQuadrant.com/
  PostgreSQL Development, 24x7 Support, Training & Services



В списке pgsql-admin по дате отправления:

Предыдущее
От: Wells Oliver
Дата:
Сообщение: Upgrading from 9.6 to 12 and running into cast issues with pg_catalog.text()
Следующее
От: Wells Oliver
Дата:
Сообщение: After upgrading to PG 12, \d in psql breaks with no more c.relhasoids