The OpenNET Project / Index page

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

форумы  помощь  поиск  регистрация  майллист  вход/выход  слежка  RSS
"Раздел полезных советов: Как вытащить тело  Postgr..."
Вариант для распечатки  
Пред. тема | След. тема 
Форумы Разговоры, обсуждение новостей
Изначальное сообщение [ Отслеживать ]

"Раздел полезных советов: Как вытащить тело  Postgr..."  +/
Сообщение от auto_tips (??) on 13-Апр-10, 15:16 
Создаем 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

URL: http://www.sai.msu.su/~megera/oddmuse/index.cgi/pgsql_tips
Обсуждается: http://www.opennet.ru/tips/info/829.shtml

Высказать мнение | Ответить | Правка | Cообщить модератору

Оглавление

Сообщения по теме [Сортировка по времени | RSS]


1. "Как вытащить тело  PostgreSQL функции  из системного каталог..."  +/
Сообщение от Александр email(??) on 13-Апр-10, 15:16 
А как сделать то же самое, только для таблиц?
Высказать мнение | Ответить | Правка | ^ | Наверх | Cообщить модератору

Архив | Удалить

Рекомендовать для помещения в FAQ | Индекс форумов | Темы | Пред. тема | След. тема




Партнёры:
PostgresPro
Inferno Solutions
Hosting by Hoster.ru
Хостинг:

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