PostgreSQL에서 테이블을 참조하는 저장된 함수 나열
빠르고 간단한 질문입니다. PostgreSQL에서 가능한 경우 SELECT 문을 사용하여 테이블을 사용하여 모든 저장 함수 / 저장 프로 시저의 이름을 어떻게 나열합니까? 간단한 SELECT로 충분하지 않으면 저장된 함수로 할 수 있습니다.
내 질문은이 다른 질문과 다소 유사하다고 생각하지만이 다른 질문은 SQL Server 2005 :
List of Stored Procedure from Table
(선택 사항) 그 문제에 대해 동일한 방식으로 동일한 테이블을 사용하는 트리거 및 제약 조건을 어떻게 나열합니까?
SELECT p.proname
FROM pg_catalog.pg_namespace n
JOIN pg_catalog.pg_proc p
ON p.pronamespace = n.oid
WHERE n.nspname = 'public';
SELECT proname, prosrc
FROM pg_catalog.pg_namespace n
JOIN pg_catalog.pg_proc p
ON pronamespace = n.oid
WHERE nspname = 'public';
psql을 사용하는 경우 다음을 시도하십시오. \df
man 페이지에서 :
Tip
To look up functions taking arguments or returning values of a specific type, use your pager's search capability to scroll through the \df output.
달리는 장면 뒤에서 \set ECHO_HIDDEN
무엇이 \df
실행되고 있는지 보여 줍니다.
@quassnoi 및 @davidwhthomas와 동일하지만 여기에 인수 이름을 추가했습니다.
SELECT proname, proargnames, prosrc
FROM pg_catalog.pg_namespace n
JOIN pg_catalog.pg_proc p
ON pronamespace = n.oid
WHERE nspname = 'public';
함수를 나열하는 목적이 함수를 정리하거나 변경된 매개 변수 목록으로 새 함수를 반복하는 것이라면 자주 함수를 삭제해야합니다.
DROP FUNCTION <name>(<args>);
proargname을 추가하여 드롭에 적용 할 수있는 함수 이름을 구성 할 수 있습니다.
또한 기능을 평가할 때보다 완전한 그림을 보는 것이 좋습니다.
표준 information_schema
스키마를 사용 하여 데이터베이스에 대한 메타 데이터를 가져올 수 있습니다 (SQL 표준에 있으므로 다른 데이터베이스 시스템에서 동일한 방식으로 작동해야 함). 이 경우 원하는 information_schema.routines
.
시스템 항목 제외 :
select proname from pg_proc where proowner <> 1;
제 레시피를 보세요 . 함수와 트리거를 읽습니다. 다음의 정보를 기반으로합니다. PostgreSQL (INFORMATION_SCHEMA)에서 META 정보 추출
ALTER 에서 함수를 참조 할 때 필요한 함수 의 인수 유형 을 검색하려면 oldevectortypes를 사용하는 것이 좋습니다 .
참조 내가 PostgreSQL의에서 특정 스키마의 데이터베이스에 저장된 모든 기능의 목록을 얻을 수 있습니까?
'IT박스' 카테고리의 다른 글
여러 줄 Flexbox에서 왼쪽 마지막 행 / 줄을 정렬하는 방법 (0) | 2020.11.01 |
---|---|
setBackgroundDrawable () 지원 중단됨 (0) | 2020.11.01 |
Request [ "key"] 대 Request.Params [ "key"] 대 Request.QueryString [ "key"] (0) | 2020.11.01 |
장고는 존재하지 않습니다 (0) | 2020.10.31 |
Gradle의 종속성 캐시가 손상되었을 수 있습니다 (이는 때때로 네트워크 연결 시간 초과 후에 발생합니다.) (0) | 2020.10.31 |