이 문서는 지원되지 않는 버전의 PostgreSQL을위한 것입니다.
당신은에 대해 같은 페이지를 보려고 할 수 있습니다현재버전 또는 위에 나열된 다른 지원되는 버전 중 하나입니다.

9.19. 시스템 정보 토토 사이트

표 9-39세션과 시스템을 추출하는 몇 가지 토토 사이트을 보여줍니다 정보.

표 9-39. 세션 정보 토토 사이트

이름 반환 유형 설명
current_database() 이름 현재 데이터베이스 이름
current_schema() 이름 현재 스키마 이름
current_schemas(부울) 이름 [] 선택적으로 포함하는 검색 경로에서 스키마 이름 암시 적 체계
current_user 이름 현재 실행 컨텍스트의 사용자 이름
inet_client_addr() inet 원격 연결 주소
inet_client_port() int 원격 연결 포트
inet_server_addr() inet 로컬 연결 주소
inet_server_port() int 로컬 연결 포트
session_user 이름 세션 사용자 이름
PG_POSTMASTER_START_TIME() 시간대가있는 타임 스탬프 Postmaster시작 시간
사용자 이름 동등한current_user
버전() 텍스트 postgresql버전 정보

thesession_user보통입니다 현재 데이터베이스 연결을 시작한 사용자; 하지만 슈퍼업자는이 설정을 변경할 수 있습니다.세션 설정 권한 부여. 그만큼current_user허가에 적용되는 사용자 식별자입니다 확인. 일반적으로 세션 사용자와 같지만 로 변경PostgreSQL : 문서 : 8.1 : 역할 스포츠 토토 사이트. 또한 함수 실행 중에도 변경됩니다 속성Security Definer. 유닉스에서 Parlance, 세션 사용자는입니다."실제 사용자"그리고 현재 사용자는입니다."효과적인 사용자".

참고 : current_user, session_user사용자특별한 구문 상태가있어SQL: 그들은 호출되어야합니다 괄호 후드없이.

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

참고 :검색 경로는 실행 시간에 변경 될 수 있습니다. 명령은 다음과 같습니다.

search_path set스키마[, 스키마, ...]

inet_client_addrIP를 반환합니다 현재 클라이언트의 주소 및inet_client_port포트 번호를 반환합니다.inet_server_addrIP를 반환합니다 서버가 현재 연결을 수락 한 주소 및inet_server_port포트를 반환합니다 숫자. 이 모든 토토 사이트은 현재 연결이 있으면 NULL을 반환합니다 유닉스 도메인 소켓을 통해입니다.

PG_POSTMASTER_START_TIME반환 그만큼시간대가있는 타임 스탬프언제Postmaster시작.

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

표 9-40사용자가 객체 액세스를 쿼리 할 수있는 함수를 나열합니다. 프로그래밍 방식으로 특권. 보다와이즈 토토 : 문서 : 8.1 : 권한권한에 대한 자세한 내용은

표 9-40. 액세스 권한 문의 토토 사이트

이름 반환 유형 설명
has_table_privilege(사용자, 테이블, 특권) 부울 사용자는 테이블에 대한 권한이 있습니까
has_table_privilege(테이블, 특권) 부울 현재 사용자는 표에 대한 특권이 있습니까
has_database_privilege(사용자, 데이터베이스, 특권) 부울 사용자는 데이터베이스에 대한 권한이 있습니까
has_database_privilege(데이터베이스, 특권) 부울 현재 사용자는 데이터베이스에 대한 권한이 있습니까
has_function_privilege(사용자, 토토 사이트, 특권) 부울 사용자는 토토 사이트에 대한 특권이 있습니까
has_function_privilege(토토 사이트, Privilege) 부울 현재 사용자는 토토 사이트에 대한 특권이 있습니까
has_language_privilege(user, 언어, 특권) 부울 사용자는 언어에 대한 특권이 있습니까
has_language_privilege(언어, 특권) 부울 현재 사용자는 언어에 대한 특권이 있습니까
PG_HAS_ROLE(사용자, 역할, 특권) 부울 사용자는 역할에 대한 특권이 있습니까
PG_HAS_ROLE(역할, 특권) 부울 현재 사용자는 역할에 대한 특권이 있습니까
has_schema_privilege(사용자, 스키마, 특권) 부울 사용자는 스키마에 대한 권한이 있습니까
has_schema_privilege(스키마, 특권) 부울 현재 사용자는 스키마에 대한 권한이 있습니까
has_tablespace_privilege(사용자, 테이블 스페이스, 특권) 부울 사용자는 테이블 스페이스에 대한 특권이 있습니까
has_tablespace_privilege(테이블 스페이스, 특권) 부울 현재 사용자는 테이블 스페이스에 대한 특권이 있습니까

has_table_privilege확인 사용자가 특정 방식으로 테이블에 액세스 할 수 있는지 여부. 사용자 이름 또는 OID (에 의해 지정할 수 있습니다.pg_authid.oid) 또는 인수가 생략 된 경우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데이터 유형 (참조PostgreSQL : 문서 : 8.1 : 객체 식별자 배트맨 토토). 원하는 액세스 권한 유형은를 평가해야합니다.execute. 예는 다음과 같습니다.

select has_function_privilege ( 'joeuser', 'myfunc (int, text)', 'execute');

has_language_privilege확인 사용자가 특정에서 절차 언어에 액세스 할 수 있는지 여부 방법. 논쟁의 가능성은와 유사합니다.has_table_privilege. 원하는 액세스 권한 유형은 평가해야합니다.usage.

PG_HAS_ROLEa 사용자는 특정 방식으로 역할에 액세스 할 수 있습니다. 가능성 그것의 주장은와 유사하다.has_table_privilege. 원하는 액세스 권한 유형은를 평가해야합니다.회원또는usage. 회원직접 또는 간접 멤버십을 나타냅니다 역할 (즉, 할 권리세트 역할), whileusage역할의 특권은없이 즉시 제공됩니다 행위역할 설정.

has_schema_privilege확인 사용자가 특정 방식으로 스키마에 액세스 할 수 있는지 여부 그만큼 그 주장에 대한 가능성은와 유사하다.has_table_privilege. 원하는 액세스 권한 유형은를 평가해야합니다.Create또는usage.

has_tablespace_privilege확인 사용자가 특정 방식으로 테이블 스페이스에 액세스 할 수 있는지 여부. 그만큼 그 주장에 대한 가능성은와 유사하다.has_table_privilege. 원하는 액세스 권한 유형은를 평가해야합니다.생성.

사용자가 권한에 대한 보조금 옵션을 보유하고 있는지 테스트하려면 부록보조금 옵션to 특권 키 단어; 예를 들어'업데이트로 보조금 옵션 '.

표 9-41특정 객체가 있는지 여부를 결정하는 함수를 보여줍니다가시적현재 스키마 검색에서 길. 포함 된 스키마가있는 경우 테이블이 보이는 것으로 알려져 있습니다. 검색 경로와 같은 이름의 테이블이 이전에 나타나지 않습니다. 검색 경로에서. 이것은 말하는 진술과 같습니다 표는 명시 적 스키마없이 이름으로 참조 할 수 있습니다 자격. 예를 들어, 모든 가시적 인 이름을 나열합니다 테이블 :

pg_class에서 pg_table_is_visible (oid);에서 relname을 선택하십시오.

표 9-41. 스키마 가시성 문의 토토 사이트

이름 반환 유형 설명
pg_table_is_visible(table_oid) 부울 검색 경로에서 테이블이 표시됩니다
pg_type_is_visible(type_oid) 부울 검색 경로에서 볼 수있는 유형 (또는 도메인)입니다
pg_function_is_visible(function_oid) 부울 검색 경로에서 토토 사이트이 표시됩니다
pg_operator_is_visible(Operator_oid) 부울 검색 경로에서 작업자가 표시됩니다
pg_opclass_is_visible(opclass_oid) 부울 검색 경로에서 운영자 클래스가 표시됩니다
pg_conversion_is_visible(converion_oid) 부울 검색 경로에서 전환이 표시됩니다

pg_table_is_visible테이블 (또는보기 또는 기타 종류의 확인PG_CLASSEntry).pg_type_is_visible, pg_function_is_visible, pg_operator_is_visible, pg_opclass_is_visiblepg_conversion_is_visible동일한 종류를 수행하십시오 유형 (및 도메인), 토토 사이트에 대한 가시성 점검 운영자, 운영자 클래스 및 변환. 을 위한 토토 사이트 및 연산자, 검색 경로의 개체가 보입니다. 같은 이름의 대상이없는 경우및 인수 데이터 유형 (들)이전 길에서. 운영자 클래스의 경우 이름 및 관련 인덱스 액세스 방법이 고려됩니다.

이 모든 함수는 객체를 식별하려면 객체 OID가 필요합니다. 확인하려면. 이름으로 객체를 테스트하고 싶다면 OID 별칭 유형을 사용하는 것이 편리합니다 (Regclass, Regtype, Regrocedure또는Regoperator), 예를 들어

pg_type_is_visible 선택 ( 'myschema.widget':: regtype);

자격이없는 것을 테스트하는 것은 의미가 없을 것입니다. 이런 식으로 이름 - 이름을 전혀 인식 할 수 있다면 눈에 보이십시오.

표 9-42시스템에서 정보를 추출하는 토토 사이트을 나열합니다 카탈로그.

표 9-42. 시스템 카탈로그 정보 토토 사이트

이름 반환 유형 설명
format_type(type_oid, typemod) 텍스트 데이터 유형의 SQL 이름 가져 오기
pg_get_constraintdef(제약 _OOD) 텍스트 제약 조건의 정의 받기
pg_get_constraintdef(제약 _OOD, pretty_bool) 텍스트 제약 조건의 정의 받기
pg_get_expr(expr_text, relation_oid) 텍스트 표현식의 내부 형태를 디 컴파일합니다 그것의 모든 vars는 두 번째 매개 변수
pg_get_expr(expr_text, relation_oid, pretty_bool) 텍스트 표현식의 내부 형태를 디 컴파일합니다 그것의 모든 vars는 두 번째 매개 변수
pg_get_indexdef(index_oid) 텍스트 get색인 생성명령 색인
pg_get_indexdef(index_oid, column_no, pretty_bool) 텍스트 get색인 생성명령 index 또는 index index의 정의column_nois Zero
PG_GET_RULEDEF(rule_oid) 텍스트 get규칙 작성명령 규칙
PG_GET_RULEDEF(rule_oid, Pretty_bool) 텍스트 get규칙 만들기명령 규칙
PG_GET_SERIAL_SEATENCE(table_name, column_name) 텍스트 a 시퀀스 이름을 얻으십시오.Serial또는bigserial열 용도
PG_TABLESPACE_DATABASES(TableSpace_oid) OID 설정 테이블 스페이스
pg_get_triggerdef(trigger_oid) 텍스트 get만들기 [제약] 방아쇠트리거 명령
PG_GET_USERBYID(롤 리드) 이름 주어진 ID로 역할 이름 가져 오기
pg_get_viewdef(View_Name) 텍스트 기본selectView ( 명령감가 상각)
pg_get_viewdef(View_Name, pretty_bool) 텍스트 기본select보기를위한 명령 (감가 상각)
pg_get_viewdef(View_oid) 텍스트 기본select보기를위한 명령
pg_get_viewdef(View_oid, pretty_bool) 텍스트 기본select보기를위한 명령

format_typeSQL 이름을 반환합니다 유형 OID 및 아마도 유형 수정 자. 구체적이없는 경우 유형 수정자를 위해 NULL을 전달하십시오 수정자는 알려져 있습니다.

pg_get_constraintdef, pg_get_indexdef, PG_GET_RULEDEFPG_GET_TRIGGERDEF제약, 인덱스, 규칙 또는 트리거에 대한 명령을 작성합니다. (메모 이것은 원본 텍스트가 아니라 혼란스러운 재구성이라는 명령의.)pg_get_expr열의 기본값. 검사 할 때 유용 할 수 있습니다 시스템 카탈로그의 내용.pg_get_viewdef재구성select보기를 정의하는 쿼리. 이들 대부분 함수는 두 가지 변형으로 제공되며 그 중 하나는 선택적으로"Pretty-Print"결과. 그만큼 매우 인쇄 된 형식은 더 읽기 쉬운 것이지만 기본 형식은 다음과 같습니다. 미래 버전의에 의해 같은 방식으로 해석 될 가능성이 더 높습니다.PostgreSQL; 사용하지 마십시오 덤프 목적으로 인쇄 된 출력. 통과거짓예쁜 인쇄 매개 변수의 경우 매개 변수가없는 변형과 동일한 결과 모두.

PG_GET_SERIAL_SEATENCE가져 오기 a와 관련된 시퀀스의 이름Serial또는bigserial열. 그만큼 이름은 시퀀스 함수로 전달하기 위해 적절하게 형식화됩니다. (보다PostgreSQL : 문서 : 8.1 : 토토 커뮤니티 조작 함수). 널입니다 열에 관련 시퀀스가없는 경우 반환되었습니다.

PG_TABLESPACE_DATABASES허용 a 검사 할 테이블 스페이스. Oids 세트를 반환합니다 객체가 테이블 스페이스에 저장된 데이터베이스. 이 경우 함수는 행을 반환하고 테이블 스페이스는 비어 있지 않으며 떨어집니다. 포기하는 특정 객체를 표시합니다 테이블 스페이스, 식별 된 데이터베이스에 연결해야합니다. 에 의해PG_TABLESPACE_DATABASES및 쿼리pg_class카탈로그.

PG_GET_USERBYID추출 a 역할의 이름이 주어진 Oid.

표 9-43이전에 저장된 주석 추출댓글명령. 아니오이면 널 값이 반환됩니다 댓글이 지정된 매개 변수와 일치하는 것을 찾을 수 있습니다.

표 9-43. 의견 정보 토토 사이트

이름 반환 유형 설명
obj_description(Object_oid, Catalog_name) 텍스트 데이터베이스 개체에 대한 주석 받기
obj_description(Object_oid) 텍스트 데이터베이스 개체에 대한 주석 받기 (감가 상각)
col_description(table_oid, column_number) 텍스트 테이블 열에 대한 댓글 받기

2 파라미터 형태obj_description주석을 반환합니다 OID와 이름으로 지정된 데이터베이스 개체 시스템 카탈로그가 포함되어 있습니다. 예를 들어,obj_description (123456, 'pg_class')검색됩니다 OID 123456이있는 테이블에 대한 주석. 1 개의 파라미터 양식 의obj_description만 필요합니다 물체의 OID. 보증이 없기 때문에 이제는 더 이상 사용되지 않습니다 이 OID는 다른 시스템 카탈로그에서 독특합니다. 그러므로, 잘못된 의견이 반환 될 수 있습니다.

col_description반환 테이블 열에 대한 주석은 테이블 및 열 번호.obj_description테이블에는 사용할 수 없습니다 열에는 자신의 OID가 없기 때문에 열에는 없습니다.