как отобразить полный код хранимой процедуры?


Как вы просматриваете хранимую процедуру / функцию?

скажем, у меня есть старая функция без исходного определения - я хочу посмотреть, что она делает в pg/psql, но я не могу понять, как это сделать.

использование Postgres версии 8.4.1

8 80

8 ответов:

использовать pgAdmin или использовать pg_proc чтобы получить источник хранимых процедур. pgAdmin делает то же самое.

\df+ <function_name> на psql.

\ef <function_name> в psql. Это даст всю функцию с редактируемым текстом.

SELECT prosrc FROM pg_proc WHERE proname = 'function_name';

это говорит обработчику функции, как вызвать функцию. Это может быть фактический исходный код функции для интерпретируемых языков, символ ссылки, имя файла или почти все остальное, в зависимости от языка реализации/соглашения о вызове

использовать \df чтобы перечислить все хранимые процедуры в Postgres.

Если кто-то задается вопросом, как быстро запросить таблицы каталога и использовать

обычно вы используете приложение DB manager, например pgAdmin, перейдите к интересующему Вас объекту и щелкните правой кнопкой мыши свой путь к "script as create" или аналогичному.

вы пытаетесь это сделать... без приложения для управления?

вы также можете получить с помощью phpPgAdmin, если вы настроили его в своей системе,

Шаг 1: Выберите свою базу данных

Шаг 2: Нажмите на кнопку Найти

Шаг 3: измените параметр поиска на функции, затем нажмите кнопку Найти.

вы получите список определенных функций.Вы также можете искать функции по имени, надеюсь, что этот ответ поможет другим.