이 문서는 지원되지 않는 PostgreSQL 버전에 대한 것입니다.
당신은 다음과 같은 페이지를 보고 싶을 수도 있습니다.현재버전 또는 위에 나열된 다른 지원 버전 중 하나를 사용하세요.

6.13. 기타 기능

표 6-27세션 및 시스템을 추출하는 여러 기능을 보여줍니다. 정보.

표 6-27. 세션 정보 기능

이름 반환 유형 설명
현재_데이터베이스() 이름 현재 데이터베이스 이름
현재_스키마() 이름 현재 스키마 이름
current_schemas(부울) 이름[] 선택적으로 다음을 포함하는 검색 경로의 스키마 이름 암시적 스키마
현재_사설 토토 이름 현재 실행 컨텍스트의 사설 토토 이름
session_user 이름 세션 사설 토토 이름
사설 토토 이름 다음과 동일함현재_사설 토토
버전() 텍스트 PostgreSQL 버전 정보

session_user사설 토토입니다 데이터베이스 연결을 시작한 것입니다. 그것은 고정되어 있습니다 해당 연결 기간.현재_사설 토토사설 토토 식별자는 다음과 같습니다. 권한 확인에 적용 가능합니다. 일반적으로, 그것은 세션 사설 토토이지만 기능 실행 중에 변경됩니다. 속성으로보안 정의자. 에서 Unix 용어로 세션 사설 토토는"진짜 사설 토토"현재 사설 토토는"유효한 사설 토토".

참고: 현재_사설 토토, session_user그리고사설 토토다음에 특별한 구문 상태가 있습니다.SQL: 호출해야 합니다. 후행 괄호 없이.

현재_스키마이름을 반환합니다 검색 경로 앞에 있는 스키마(또는 null 검색 경로가 비어 있는 경우 값). 이는 스키마입니다. 생성된 모든 테이블이나 기타 명명된 개체에 사용됩니다. 대상 스키마를 지정하지 않고.current_schemas(부울)배열을 반환합니다. 현재 검색 경로에 있는 모든 스키마의 이름입니다. 는 부울 옵션은 암시적으로 포함되는지 여부를 결정합니다. pg_catalog와 같은 시스템 스키마가 검색 경로에 포함됩니다. 돌아왔습니다.

검색 경로는 다음과 같습니다. 런타임 설정에 의해 변경되었습니다. 사용할 명령은검색_경로 설정 '스키마'[,'스키마']...

버전()문자열을 반환합니다. 설명하는PostgreSQL서버 버전.

테이블 6-28질의 및 변경에 사용할 수 있는 기능을 표시합니다. 런타임 구성 매개변수입니다.

표 6-28. 구성 설정 정보 기능

이름 반환 유형 설명
현재_설정(설정_이름) 텍스트 현재 설정 값
set_config(설정_이름, new_value, is_local) 텍스트 현재 설정의 새로운 값

현재_설정다음에 익숙합니다. 의 현재 값을 구합니다.설정_이름설정, 쿼리 결과로. 그것은 SQL과 동일표시명령. 예를 들면:

select current_setting('DateStyle');
            현재_설정
--------------------------
 미국(비유럽) 규칙을 따르는 ISO
(1행)

set_config허용설정_이름설정 변경 예정 에new_value. 만일is_local다음으로 설정됨, 새 값은 현재 항목에만 적용됩니다. 거래. 현재 값에 새 값을 적용하려면 세션, 사용거짓대신. 그것은 SQL과 동일SET명령. 에 대한 예:

select set_config('show_statement_stats','off','f');
 세트_구성
------------
 떨어져서
(1행)

표 6-29사설 토토가 객체 액세스를 쿼리할 수 있는 기능을 나열합니다. 프로그래밍 방식으로 권한을 부여합니다. 참조토토 사이트 추천 : 문서 : 7.3 : 권한권한에 대한 자세한 내용을 확인하세요.

표 6-29. 접근 권한 문의 기능

이름 반환 유형 설명
has_table_privilege(사설 토토, 테이블, 액세스) 부울 사설 토토가 테이블에 액세스할 수 있습니까
has_table_privilege(테이블, 액세스) 부울 현재 사설 토토가 테이블에 액세스할 수 있습니까
has_database_privilege(사설 토토, 데이터베이스, 액세스) 부울 사설 토토가 데이터베이스에 액세스할 수 있습니까
has_database_privilege(데이터베이스, 액세스) 부울 현재 사설 토토가 데이터베이스에 액세스할 수 있습니까
has_function_privilege(사설 토토, 함수, 액세스) 부울 사설 토토가 기능에 액세스할 수 있습니까
has_function_privilege(함수, 액세스) 부울 현재 사설 토토가 기능에 액세스할 수 있습니까
has_lang_privilege(사설 토토, 언어, 액세스) 부울 사설 토토가 언어에 액세스할 수 있습니까
has_lang_privilege(언어, 액세스) 부울 현재 사설 토토가 언어에 액세스할 수 있습니까
has_schema_privilege(사설 토토, 스키마, 액세스) 부울 사설 토토가 스키마에 액세스할 수 있습니까
has_schema_privilege(스키마, 액세스) 부울 현재 사설 토토가 스키마에 액세스할 수 있습니까

has_table_privilege체크 사설 토토가 특정 방식으로 테이블에 액세스할 수 있는지 여부. 사설 토토 이름이나 ID로 지정할 수 있습니다(pg_user.usesysid) 또는 인수가 생략된 경우현재_사설 토토가정됩니다. 테이블 이름이나 OID로 지정할 수 있습니다. (따라서 실제로는 6개가 있습니다. 의 변형has_table_privilege, 개수와 종류로 구분할 수 있습니다. 인수.) 이름으로 지정할 때 이름은 다음과 같습니다. 필요한 경우 스키마 한정. 원하는 액세스 유형은 다음과 같습니다. 다음 중 하나로 평가되어야 하는 텍스트 문자열로 지정됩니다. 값선택, 삽입, 업데이트, 삭제, 규칙, 참조또는트리거. (문자열의 대/소문자는 중요하지 않습니다. 그러나.) 예는 다음과 같습니다:

SELECT has_table_privilege('myschema.mytable', 'select');

has_database_privilege체크 사설 토토가 특정 방식으로 데이터베이스에 액세스할 수 있는지 여부. 는 그 주장에 대한 가능성은 다음과 유사합니다.has_table_privilege. 원하는 액세스 유형 다음으로 평가되어야 합니다.만들기, 임시, 또는온도(이것은 다음과 같습니다.임시).

has_function_privilege체크 사설 토토가 특정 방식으로 기능에 액세스할 수 있는지 여부. 는 그 주장에 대한 가능성은 다음과 유사합니다.has_table_privilege. 기능을 지정할 때 OID가 아닌 텍스트 문자열을 사용하는 경우 허용되는 입력은 다음과 같습니다. 와 동일regprocedure데이터 유형. 는 원하는 액세스 유형은 현재 다음과 같이 평가되어야 합니다.실행.

has_lang_privilege체크 사설 토토가 특정 프로세스의 절차적 언어에 액세스할 수 있는지 여부 방법. 그 주장에 대한 가능성은 다음과 유사합니다.has_table_privilege. 원하는 액세스 유형은 현재 다음과 같이 평가되어야 합니다.사용.

has_schema_privilege체크 사설 토토가 특정 방식으로 스키마에 액세스할 수 있는지 여부. 는 그 주장에 대한 가능성은 다음과 유사합니다.has_table_privilege. 원하는 액세스 유형 다음으로 평가되어야 합니다.만들기또는사용.

표 6-30특정 개체가 다음과 같은지 여부를 결정하는 함수를 보여줍니다.표시현재 스키마 검색에서 경로. 포함된 스키마가 다음과 같은 경우 테이블이 표시된다고 합니다. 검색 경로에 동일한 이름의 테이블이 이전에 나타나지 않습니다. 검색 경로에서. 이는 다음과 같은 진술과 동일하다. 명시적인 스키마 없이 이름으로 테이블을 참조할 수 있음 자격. 예를 들어, 보이는 모든 항목의 이름을 나열하려면 테이블:

pg_class WHERE pg_table_is_visible(oid)에서 relname 선택;

표 6-30. 스키마 가시성 조회 기능

이름 반환 유형 설명
pg_table_is_visible(tableOID) 부울 검색 경로에 테이블이 표시됩니다.
pg_type_is_visible(typeOID) 부울 검색 경로에 유형이 표시됩니다.
pg_function_is_visible(functionOID) 부울 검색 경로에 함수가 표시됩니다.
pg_operator_is_visible(operatorOID) 부울 검색 경로에 연산자가 표시됩니다.
pg_opclass_is_visible(opclassOID) 부울 검색 경로에 표시되는 연산자 클래스입니다

pg_table_is_visible수행 테이블(또는 뷰 또는 기타 모든 종류의)을 확인하세요.pg_class항목).pg_type_is_visible, pg_function_is_visible, pg_operator_is_visible그리고pg_opclass_is_visible동일한 종류의 수행 유형, 함수, 연산자 및 연산자에 대한 가시성 검사 수업은 각각. 함수와 연산자의 경우 동일한 이름의 개체가 없으면 검색 경로가 표시됩니다.및 인수 데이터 유형경로의 앞부분. 연산자 클래스의 경우 둘 다 이름 및 관련 인덱스 액세스 방법이 고려됩니다.

이 모든 기능에는 개체를 식별하기 위해 개체 OID가 필요합니다. 확인해야합니다. 이름으로 개체를 테스트하려면 다음을 수행하십시오. OID 별칭 유형을 사용하는 것이 편리합니다(regclass, regtype, regprocedure, 또는regoperator), 예를 들어

SELECT pg_type_is_visible('myschema.widget'::regtype);

자격이 없는 것을 테스트하는 것은 별 의미가 없다는 점에 유의하십시오. 이런 식으로 이름을 짓는다 --- 이름이 조금이라도 인식될 수 있다면 보여야 합니다.

표 6-31시스템에서 정보를 추출하는 함수를 나열합니다. 카탈로그.pg_get_viewdef(), pg_get_ruledef(), pg_get_indexdef()pg_get_constraintdef()각각 재구성 뷰, 규칙, 인덱스 또는 제약 조건에 대한 생성 명령입니다. (이것은 축어적인 것이 아니라 디컴파일된 재구성이라는 점에 유의하십시오. 명령 텍스트.) 현재pg_get_constraintdef()다음에서만 작동합니다. 외래 키 제약 조건.pg_get_userbyid()주어진 사설 토토 이름을 추출합니다 에usesysid값.

표 6-31. 카탈로그 정보 기능

이름 반환 유형 설명
pg_get_viewdef(뷰 이름) 텍스트 가져오기보기 만들기명령 보기(지원 중단됨)
pg_get_viewdef(viewOID) 텍스트 가져오기보기 만들기명령어 보기
pg_get_ruledef(ruleOID) 텍스트 가져오기규칙 생성명령어 규칙
pg_get_indexdef(indexOID) 텍스트 가져오기색인 생성명령어 색인
pg_get_constraintdef(constraintOID) 텍스트 제약조건 정의 가져오기
pg_get_userbyid(사설 토토 ID) 이름 주어진 ID를 가진 사설 토토 이름 가져오기

다음에 표시된 기능표 6-32이전에 저장된 주석을 추출합니다.댓글명령. 없으면 null 값이 반환됩니다. 지정된 매개변수와 일치하는 댓글을 찾을 수 있습니다.

표 6-32. 댓글 정보 기능

이름 반환 유형 설명
obj_description(objectOID, 테이블 이름) 텍스트 데이터베이스 개체에 대한 설명 가져오기
obj_description(objectOID) 텍스트 데이터베이스 개체에 대한 설명 가져오기(지원 중단됨)
col_description(tableOID, 열번호) 텍스트 테이블 열에 대한 설명 가져오기

2개의 매개변수 형식obj_description()다음에 대한 댓글을 반환합니다. OID와 이름으로 지정된 데이터베이스 객체 시스템 카탈로그가 포함되어 있습니다. 예를 들어,obj_description(123456,'pg_class')검색하겠습니다 OID가 123456인 테이블에 대한 설명입니다. 단일 매개변수 형식 의obj_description()만 필요합니다. 객체 OID. 이제 보장이 없으므로 더 이상 사용되지 않습니다. OID는 다양한 시스템 카탈로그에서 고유합니다. 그러므로, 잘못된 댓글이 반환될 수 있습니다.

col_description()반환 OID로 지정된 테이블 열에 대한 설명 테이블과 해당 열 번호입니다.obj_description()테이블에는 사용할 수 없습니다. 열에는 자체 OID가 없기 때문입니다.