The OpenNET Project / Index page

[ новости /+++ | форум | wiki | теги | ]

Как вытащить тело PostgreSQL функции из системного каталога
Создаем view:

   CREATE OR REPLACE VIEW funcsource as
      SELECT '--\012create or replace function ' ||
         n.nspname::text || '.'::text || p.proname::text  ||
         '('::text || oidvectortypes(p.proargtypes) || ')\012'::text ||
         'returns ' || t.typname || ' as \'\012' ||
         p.prosrc || '  \'\012' || 
         'language \'' || l.lanname || ' \';\012' as func_source,
         proname as function, nspname as schema, t.typname as rettype,
         oidvectortypes(p.proargtypes) as args, l.lanname as language
      FROM pg_proc p, pg_type t, pg_namespace n, pg_language l
      WHERE p.prorettype = t.oid AND p.pronamespace = n.oid AND p.prolang = l.oid
     AND l.lanname <> 'c' AND l.lanname <> 'internal'  ;

Сохраняем исходные коды функций в файл:
    psql -Atc "select func_source from funcsource;" > functions.out
 
05.04.2005 , Автор: Олег Бартунов , Источник: http://www.sai.msu.su/~megera/oddmu...
Ключи: postgresql, time
Раздел:    Корень / Программисту и web-разработчику / SQL и базы данных / PostgreSQL специфика / Оптимизация и администрирование PostgreSQL

Обсуждение [ RSS ]
  • 1, Александр (??), 15:16, 13/04/2010 [ответить]  
  • +/
    А как сделать то же самое, только для таблиц?
     

     Добавить комментарий
    Имя:
    E-Mail:
    Заголовок:
    Текст:




    Спонсоры:
    Слёрм
    Inferno Solutions
    Hosting by Ihor
    Хостинг:

    Закладки на сайте
    Проследить за страницей
    Created 1996-2019 by Maxim Chirkov
    Добавить, Поддержать, Вебмастеру