달나라 노트

Redshift : procedure list 추출 (pg_catalog.pg_proc, pg_catalog.pg_namespace) 본문

SQL/Redshift

Redshift : procedure list 추출 (pg_catalog.pg_proc, pg_catalog.pg_namespace)

CosmosProject 2025. 3. 15. 20:11
728x90
반응형

 

 

 

Redshift에서 현재 서버에 저장된 procedure list를 얻고 싶으면 다음과 같은 query를 pg_catalog.pg_proc, pg_catalog.pg_namespace를 사용하여 추출할 수 있습니다.

 

select  pns.nspname as procedure_schema
        , proc.proname as procedure_name
        , proc.proargnames as param_name
        , proc.proargtypes as param_dtype
        , proc.prosrc as procedure_body
        , proc.proacl
from pg_catalog.pg_proc as proc
--
join pg_catalog.pg_namespace as pns
    on pns.oid = proc.pronamespace
;

 

 

pg_catalog.pg_namesapce 테이블을 다 뽑아보면 oid라는 컬럼은 없다.

oid는 object identifier로서 Redshift 시스템 내부에서 데이터를 구분하기 위해 자체적으로 부여되는 id라고 보면 됩니다.

(oid 관련 출처 = https://docs.aws.amazon.com/redshift/latest/dg/r_PG_DATABASE_INFO.html)

 

 

 

출처

https://docs.aws.amazon.com/ko_kr/redshift/latest/dg/c_join_PG.html

 

카탈로그 테이블 쿼리 - Amazon Redshift

이 페이지에 작업이 필요하다는 점을 알려 주셔서 감사합니다. 실망시켜 드려 죄송합니다. 잠깐 시간을 내어 설명서를 향상시킬 수 있는 방법에 대해 말씀해 주십시오.

docs.aws.amazon.com

 

https://www.postgresql.org/docs/8.0/catalog-pg-namespace.html

 

pg_namespace

The catalog pg_namespace stores namespaces. A namespace is the structure underlying SQL schemas: each namespace can have a separate collection of relations, types, etc. without name conflicts. Table 41-21. pg_namespace Columns Name Type References Descript

www.postgresql.org

 

https://www.postgresql.org/docs/8.0/catalog-pg-proc.html

 

pg_proc

The catalog pg_proc stores information about functions (or procedures). See CREATE FUNCTION and Section 31.3 for more information. The table contains data for aggregate functions as well as plain functions. If proisagg is true, there should be a matching r

www.postgresql.org

 

 

 

 

 

728x90
반응형
Comments