표 6-27세션과 시스템을 추출하는 몇 가지 기능을 보여줍니다 정보.
표 6-27. 세션 정보 기능
이름 | 반환 유형 | 설명 |
---|---|---|
current_database () |
이름 | 현재 데이터베이스 이름 |
current_schema () |
이름 | 현재 스키마 이름 |
current_schemas (boolean) |
이름 [] | 선택적으로 포함하는 검색 경로에서 스키마 이름 암시 적 체계 |
current_user |
이름 | 현재 실행 컨텍스트의 사설 토토 이름 |
session_user |
이름 | 세션 사설 토토 이름 |
사설 토토 |
이름 | 동등한current_user |
version () |
텍스트 | PostgreSQL 버전 정보 |
thesession_user
는 사설 토토입니다
데이터베이스 연결을 시작했습니다. 그것은 고정되어 있습니다
그 연결 시간. 그만큼current_user
는 사설 토토 식별자입니다
권한 점검에 적용됩니다. 일반적으로 그것은 동일합니다
세션 사설 토토이지만 기능 실행 중에 변경됩니다.
속성과 함께보안 정의기. ~ 안에
Unix Parlance, 세션 사설 토토는입니다."실제
사설 토토"그리고 현재 사설 토토는입니다."효과적인 사설 토토".
참고 :
current_user
,session_user
및user
특별한 구문 상태가있어SQL: 호출해야합니다 괄호 후드없이.
current_schema
이름을 반환합니다
검색 경로의 앞쪽에있는 스키마 (또는 널
값 검색 경로가 비어있는 경우). 이것이 스키마입니다
생성 된 모든 테이블 또는 기타 지정된 개체에 사용됩니다.
대상 스키마를 지정하지 않고current_schemas (부울)
배열을 반환합니다
현재 검색 경로에서 모든 스키마의 이름. 그만큼
부울 옵션은 암시 적으로 포함되는지 여부를 결정합니다
PG_CATALOG와 같은 시스템 스키마는 검색 경로에 포함됩니다.
반품.
검색 경로가있을 수 있습니다
런타임 설정으로 변경되었습니다. 사용하는 명령은입니다.SET SEARCH_PATH '스키마
'[,'스키마
'] ...
version ()
문자열을 반환합니다
설명postgresql서버 버전.
테이블 6-28쿼리 및 변경에 사용 가능한 기능을 표시합니다 런타임 구성 매개 변수.
표 6-28. 구성 설정 정보 기능
이름 | 반환 유형 | 설명 |
---|---|---|
current_setting (setting_name ) |
텍스트 | 현재 설정의 가치 |
set_config ( |
텍스트 | 현재 설정의 새로운 값 |
thecurrent_setting
익숙합니다
의 현재 값을 얻으십시오.setting_name
쿼리 결과로 설정. 그것은
SQL과 동등한show명령.
예를 들어:
select current_setting ( 'datestyle'); current_setting ---------------------------------------------- 우리와 함께 ISO (Nayuropean) 컨벤션 (1 행)
set_config
허용setting_name
변경할 설정
에게new_value
. 만약에is_local
로 설정되었습니다true, 새 값은 현재에만 적용됩니다.
거래. 새로운 가치가 현재를 신청하려는 경우
세션, 사용거짓대신. 그것은입니다
SQL에 해당set명령. 을 위한
예:
set_config ( 'show_statement_stats', 'off', 'f'); set_config ------------ 끄다 (1 행)
12653_12665사설 토토가 객체 액세스를 쿼리 할 수있는 함수를 나열합니다. 프로그래밍 방식으로 특권. 보다토토 사이트 추천 : 문서 : 7.3 : 권한특권에 대한 자세한 내용은
표 6-29. 액세스 권한 문의 기능
이름 | 반환 유형 | 설명 |
---|---|---|
has_table_privilege (사설 토토 , 테이블 , Access ) |
부울 | 사설 토토는 테이블에 액세스 할 수 있습니까 |
has_table_privilege (테이블 , Access ) |
부울 | 현재 사설 토토가 테이블에 액세스 할 수 있습니까 |
has_database_privilege (사설 토토 , 데이터베이스 , Access ) |
부울 | 사설 토토는 데이터베이스에 액세스 할 수 있습니까 |
has_database_privilege (데이터베이스 , Access ) |
부울 | 현재 사설 토토가 데이터베이스에 액세스 할 수 있습니까 |
has_function_privilege (사설 토토 , function , Access ) |
부울 | 사설 토토는 기능에 액세스 할 수 있습니까 |
has_function_privilege (기능 , Access ) |
부울 | 현재 사설 토토가 기능에 액세스 할 수 있습니까 |
has_language_privilege (사설 토토 , 언어 , Access ) |
부울 | 사설 토토가 언어에 액세스 할 수 있습니까 |
has_language_privilege (언어 , Access ) |
부울 | 현재 사설 토토가 언어에 액세스 할 수 있습니까 |
has_schema_privilege (사설 토토 , 스키마 , Access ) |
부울 | 사설 토토는 스키마에 액세스 할 수 있습니까 |
has_schema_privilege (스키마 , Access ) |
부울 | 현재 사설 토토가 Schema에 액세스 할 수 있습니까 |
has_table_privilege
확인
사설 토토가 특정 방식으로 테이블에 액세스 할 수 있는지 여부. 사설 토토
이름 또는 id (별로 지정할 수 있습니다.pg_user
.useysid) 또는 인수가 생략 된 경우current_user
가 가정됩니다. 테이블
이름 또는 OID로 지정할 수 있습니다. (따라서 실제로 6 개가 있습니다
변형has_table_privilege
,
수와 유형으로 구별 할 수 있습니다.
인수.) 이름으로 지정할 때 이름은 될 수 있습니다
필요한 경우 스키마 자격. 원하는 액세스 유형은입니다
텍스트 문자열로 지정되는데
값select, 삽입, 업데이트,
삭제, RUL,
참조또는트리거. (문자열의 경우는 중요하지 않습니다.
그러나) 예는 다음과 같습니다.
select has_table_privilege ( 'myschema.mytable', 'select');
has_database_privilege
확인
사설 토토가 특정 방식으로 데이터베이스에 액세스 할 수 있는지 여부 그만큼
그 주장에 대한 가능성은와 유사하다.has_table_privilege
. 원하는 액세스 유형
평가해야Create, 임시또는temp(
에 해당합니다.임시).
has_function_privilege
확인
사설 토토가 특정 방식으로 기능에 액세스 할 수 있는지 여부 그만큼
그 주장에 대한 가능성은와 유사하다.has_table_privilege
. 함수를 지정할 때
OID가 아닌 텍스트 문자열로 허용 된 입력은 다음과 같습니다.
동일Regrocedure데이터 유형. 그만큼
원하는 액세스 유형은 현재 평가해야합니다.execute.
has_language_privilege
수표
사설 토토가 특정에서 절차 언어에 액세스 할 수 있는지 여부
방법. 논쟁의 가능성은와 유사합니다.has_table_privilege
. 원하는
액세스 유형은 현재로 평가해야합니다.usage.
has_schema_privilege
수표
사설 토토가 특정 방식으로 스키마에 액세스 할 수 있는지 여부 그만큼
그 주장에 대한 가능성은와 유사하다.has_table_privilege
. 원하는 액세스 유형
평가해야Create또는usage.
표 6-30특정 객체가 있는지 여부를 결정하는 함수를 보여줍니다가시적현재 스키마 검색에서 길. 포함 된 스키마가있는 경우 테이블이 보이는 것으로 알려져 있습니다. 검색 경로와 같은 이름의 테이블이 이전에 나타나지 않습니다. 검색 경로에서. 이것은 말하는 진술과 같습니다 표는 명시 적 스키마없이 이름으로 참조 할 수 있습니다 자격. 예를 들어, 모든 가시적 인 이름을 나열합니다 테이블 :
pg_class에서 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_classENTRY).pg_type_is_visible
, pg_function_is_visible
, pg_operator_is_visible
및pg_opclass_is_visible
같은 종류의 수행
유형, 기능, 연산자 및 연산자에 대한 가시성 점검
각각 수업. 함수 및 연산자의 경우 객체가 있습니다
같은 이름의 객체가없는 경우 검색 경로가 표시됩니다.및 인수 데이터
유형경로 초기. 운영자 클래스의 경우 둘 다
이름 및 관련 인덱스 액세스 방법이 고려됩니다.
이 모든 함수는 객체를 식별하려면 객체 OID가 필요합니다. 확인하려면. 이름으로 객체를 테스트하고 싶다면 OID 별칭 유형을 사용하는 것이 편리합니다 (RegClass, Regtype, Regrocedure또는Regoperator), 예를 들어
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 ()
주어진 사설 토토 이름을 추출합니다
에이useysidvalue.
표 6-31. 카탈로그 정보 기능
이름 | 반환 유형 | 설명 |
---|---|---|
pg_get_viewdef (ViewName ) |
텍스트 | get보기 만들기보다 (감가 상각) |
pg_get_viewdef (Viewoid ) |
텍스트 | get보기 만들기명령 보다 |
PG_GET_RULEDEF (Ruleoid ) |
텍스트 | get규칙 만들기명령 규칙 |
pg_get_indexdef (indexoid ) |
텍스트 | get색인 생성명령 색인 |
pg_get_constraintdef (제약 조건 ) |
텍스트 | 제약 조건 정의 받기 |
PG_GET_USERBYID (userID ) |
이름 | 지정된 ID로 사설 토토 이름을 얻으십시오 |
표 6-32이전에 저장된 주석 추출댓글명령. 아니오이면 널 값이 반환됩니다 댓글이 지정된 매개 변수와 일치하는 것을 찾을 수 있습니다.
표 6-32. 의견 정보 기능
이름 | 반환 유형 | 설명 |
---|---|---|
obj_description (객체 , TableName ) |
텍스트 | 데이터베이스 개체에 대한 댓글 받기 |
obj_description (objectoid ) |
텍스트 | 데이터베이스 개체에 대한 주석 받기 (감가 상각) |
col_description (Tableoid , ColumnNumber ) |
텍스트 | 테이블 열에 대한 주석 받기 |
2 파라미터 형태obj_description ()
주석을 반환합니다
OID와 이름으로 지정된 데이터베이스 개체
시스템 카탈로그가 포함되어 있습니다. 예를 들어,obj_description (123456, 'pg_class')검색됩니다
OID 123456이있는 테이블에 대한 주석. 1 개의 파라미터 양식
의obj_description ()
만 필요합니다
물체의 OID. 보증이 없기 때문에 이제는 더 이상 사용되지 않습니다
이 OID는 다른 시스템 카탈로그에서 독특합니다. 그러므로,
잘못된 의견이 반환 될 수 있습니다.
col_description ()
반환합니다
테이블 열에 대한 주석은
테이블 및 열 번호.obj_description ()
테이블에는 사용할 수 없습니다
열에는 자신의 OID가 없기 때문에 열에는 없습니다.