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

9.25. 시스템 정보 윈 토토

테이블 9-52세션과 윈 토토을 추출하는 몇 가지 기능을 보여줍니다 정보.

이 섹션에 나열된 함수 외에도 통계 윈 토토과 관련된 기능 수 윈 토토 정보를 제공합니다. 보다섹션 27.2.2자세한 내용은

표 9-52. 세션 윈 토토 기능

이름 반환 유형 설명
current_catalog 이름 현재 데이터베이스 이름 (호출"카탈로그"SQL 표준에서)
current_database () 이름 현재 데이터베이스 이름
current_query () 텍스트 현재 실행중인 쿼리의 텍스트, 클라이언트 (둘 이상의 문을 포함 할 수 있음)
current_role 이름 동등한current_user
current_schema[()] 이름 현재 스키마 이름
current_schemas (부울) 이름 [] 선택적으로 암시 적으로 검색 경로에서 스키마 이름 스키마
current_user 이름 현재 실행 컨텍스트의 사용자 이름
inet_client_addr () inet 원격 연결 주소
inet_client_port () int 원격 연결 포트
inet_server_addr () inet 로컬 연결 주소
inet_server_port () int 로컬 연결 포트
pg_backend_pid () int 현재에 첨부 된 서버 프로세스의 프로세스 ID 세션
pg_conf_load_time () 시간대가있는 타임 스탬프 구성로드 시간
pg_is_other_temp_schema (OID) 부울 Schema는 다른 세션의 임시 스키마입니까?
pg_listening_channels () 텍스트 설정 세션이 현재 듣고있는 채널 이름
pg_my_temp_schema () OID 세션의 임시 스키마 OID 또는 0이면 0
pg_postmaster_start_time () 시간대가있는 타임 스탬프 서버 시작 시간
pg_trigger_depth () int 현재 중첩 수준PostgreSQL트리거 (0 호출되지 않은 경우 직접 또는 간접적으로 트리거 내부에서)
session_user 이름 세션 사용자 이름
사용자 이름 동등한current_user
version () 텍스트 PostgreSQL버전 윈 토토

참고 : current_catalog, current_role, current_schema, current_user, session_user사용자특별한 구문 상태가있어SQL: 그들은없이 호출되어야합니다 후행 괄호. (PostgreSQL에서 괄호는 선택적으로 될 수 있습니다 와 함께current_schema그러나 그렇지 않습니다 다른 사람들과 함께.)

thesession_user보통입니다 현재 데이터베이스 연결을 시작한 사용자; 그러나 수퍼 유행자 이 설정을 변경할 수 있습니다세션 승인 설정. 그만큼current_user는 사용자입니다 권한 점검에 적용 가능한 식별자. 일반적으로 세션 사용자와 같지만로 변경할 수 있습니다.역할 설정. 또한 변경 중에 변경됩니다 속성으로 함수 실행Security Definer. Unix Parlance에서 세션 사용자"실제 사용자"및 현재 사용자"효과적인 사용자". current_roleand사용자동의어current_user. (SQL 표준은 a 의 구별current_roleandcurrent_user그러나PostgreSQL사용자를 통합하기 때문에 그렇지 않습니다 그리고 단일 종류의 엔티티로의 역할.)

current_schema이름을 반환합니다 검색 경로에서 첫 번째 스키마 (또는 검색 경로가 비어 있음). 이것은 어떤 스키마에 사용될 스키마입니다. 지정하지 않고 생성 된 테이블 또는 기타 지정된 개체 대상 스키마.current_schemas (부울)배열을 반환합니다 현재 검색 경로에서 모든 스키마의 이름. 부울 옵션은 암시 적으로 포함 된 시스템 스키마를 결정합니다 와 같은PG_CATALOG에 포함되어 있습니다 반환 검색 경로.

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

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

pg_listening_channels반환 a 현재 세션에서 듣고있는 채널 이름 세트. 보다PostgreSQL : 문서 : 9.3 : 메이저 토토 사이트자세한 내용은

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

pg_my_temp_schemaOID를 반환합니다 현재 세션의 임시 스키마 중 또는 없으면 0 (임시 테이블을 만들지 않았기 때문에).18499_18524주어진 경우 true를 반환합니다 OID는 다른 세션의 임시 스키마의 OID입니다. (이것은 될 수 있습니다 예를 들어 다른 세션의 임시 테이블을 제외하는 데 유용합니다 카탈로그 디스플레이에서.)

PG_POSTMASTER_START_TIME반환 그만큼시간대가있는 타임 스탬프서버시 시작.

pg_conf_load_time반환시간대가있는 타임 스탬프서버시기 구성 파일은 마지막으로로드되었습니다. (현재 세션이 있었다면 당시 살아있는 것은 이시기가 세션 자체가 구성 파일을 다시 읽으므로 읽기는 약간 다릅니다. 다른 세션에서. 그렇지 않으면 우체국 장이 시대입니다 프로세스 구성 파일을 다시 읽습니다.)

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

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

표 9-53. 액세스 권한 문의 윈 토토

이름 반환 유형 설명
has_any_column_privilege(user, 테이블, 특권) 부울 사용자는 테이블의 모든 열에 대한 특권이 있습니까
has_any_column_privilege(테이블, 특권) 부울 현재 사용자는 테이블 열의 모든 열에 대한 특권이 있습니까
has_column_privilege(사용자, 테이블, 컬럼, 특권) 부울 사용자는 열에 대한 특권이 있습니까
has_column_privilege(테이블, , 특권) 부울 현재 사용자는 열에 대한 특권이 있습니까
has_database_privilege(사용자, 데이터베이스, 특권) 부울 사용자는 데이터베이스에 대한 권한이 있습니까
has_database_privilege(데이터베이스, 특권) 부울 현재 사용자는 데이터베이스에 대한 권한이 있습니까
has_foreign_data_wrapper_privilege(사용자, FDW, 특권) 부울 사용자는 외국 데이터 래퍼에 대한 특권이 있습니까
has_foreign_data_wrapper_privilege(FDW, 특권) 부울 현재 사용자는 외국 데이터 래퍼에 대한 특권이 있습니까
has_function_privilege(사용자, 윈 토토, 특권) 부울 사용자는 윈 토토에 대한 특권이 있습니까
has_function_privilege(윈 토토, 특권) 부울 현재 사용자는 윈 토토에 대한 특권이 있습니까
has_language_privilege(사용자, 언어, 특권) 부울 사용자는 언어에 대한 특권이 있습니까
has_language_privilege(언어, 특권) 부울 현재 사용자는 언어에 대한 특권이 있습니까
has_schema_privilege(사용자, 스키마, 특권) 부울 사용자는 스키마에 대한 권한이 있습니까
has_schema_privilege(스키마, Privilege) 부울 현재 사용자는 스키마에 대한 권한이 있습니까
has_sequence_privilege(사용자, 시퀀스, 특권) 부울 사용자는 시퀀스에 대한 특권이 있습니까
has_sequence_privilege(시퀀스, 특권) 부울 현재 사용자는 시퀀스에 대한 특권이 있습니까
has_server_privilege(사용자, Server, 특권) 부울 사용자는 외국 서버에 대한 특권이 있습니까
has_server_privilege(Server, 특권) 부울 현재 사용자는 외국 서버에 대한 특권이 있습니까
has_table_privilege(사용자, 테이블, 특권) 부울 사용자는 표에 대한 특권이 있습니까
has_table_privilege(테이블, 특권) 부울 현재 사용자는 표에 대한 특권이 있습니까
has_tablespace_privilege(사용자, 테이블 스페이스, 특권) 부울 사용자는 테이블 스페이스에 대한 특권이 있습니까
has_tablespace_privilege(테이블 스페이스, 특권) 부울 현재 사용자는 테이블 스페이스에 대한 특권이 있습니까
has_type_privilege(사용자, 타입, 특권) 부울 사용자는 유형에 대한 특권이 있습니까
has_type_privilege(타입, 특권) 부울 현재 사용자는 유형에 대한 특권이 있습니까
PG_HAS_ROLE(사용자, 역할, 특권) 부울 사용자는 역할에 대한 특권이 있습니까
PG_HAS_ROLE(역할, 특권) 부울 현재 사용자는 역할에 대한 특권이 있습니까

has_table_privilege확인 여부 사용자는 특정 방식으로 테이블에 액세스 할 수 있습니다. 사용자는 될 수 있습니다 OID (에 의해 이름별로 지정pg_authid.oid),public대중의 의사-롤을 나타내려면, 또는 논증이 생략 된 경우current_user가 가정됩니다. 테이블이 될 수 있습니다 이름 또는 OID에 의해 지정됩니다. (따라서 실제로 6 가지 변형이 있습니다 의has_table_privilege주장의 수와 유형에 의해 구별됩니다.) 언제 이름별로 지정하면 필요한 경우 이름을 스키마 자격으로 표시 할 수 있습니다. 원하는 액세스 권한 유형은 텍스트 문자열로 지정됩니다. 값 중 하나를 평가해야합니다select, 삽입, 업데이트, 삭제, Truncate, 참조또는트리거. 선택적으로,보조금 옵션권한 유형에 추가 할 수 있습니다 권한이 보조금 옵션으로 보유되는지 테스트합니다. 또한, 여러 권한 유형은 쉼표로 분리 할 수 ​​있습니다. 결과는입니다.true나열된 권한의 개최. (권한 문자열의 경우입니다 중요하지 않으며 여분의 공백이 허용되지만 특권 이름 내에서.) 몇 가지 예 :

select has_table_privilege ( 'myschema.mytable', 'select');
has_table_privilege ( 'joe', 'mytable', 'insert, with with with with with with with with grant');

has_sequence_privilege수표 사용자가 특정 방식으로 시퀀스에 액세스 할 수 있는지 여부 그만큼 그 주장에 대한 가능성은와 유사하다.has_table_privilege. 원하는 액세스 권한 유형은 중 하나를 평가해야합니다.usage, select또는업데이트.

has_any_column_privilege확인 사용자가 특정 테이블의 열에 액세스 할 수 있는지 여부 방법. 그것의 주장 가능성은와 유사하다.has_table_privilege29636_29723select, 삽입, 업데이트또는참조. 이러한 특권이 있습니다 테이블 수준에서 암시 적으로 각 열에 대해 부여합니다. 테이블, 그래서has_any_column_privilege항상 돌아올 것입니다trueifhas_table_privilege동일한 주장을 수행합니다. 하지만has_any_column_privilegeAT에 대한 특권의 열 수준 보조금이 있으면 성공합니다. 최소 하나의 열.

has_column_privilege확인 사용자가 특정 방식으로 열에 액세스 할 수 있는지 여부 그것은 인수 가능성은와 유사합니다.has_table_privilege열은 이름 또는 속성 번호로 지정할 수 있습니다. 그만큼 원하는 액세스 권한 유형은의 일부 조합으로 평가해야합니다.select, 삽입, 업데이트또는참조. 이러한 특권이 있습니다 테이블 수준에서 암시 적으로 각 열에 대해 부여합니다. 테이블.

has_database_privilege확인 사용자가 특정 방식으로 데이터베이스에 액세스 할 수 있는지 여부 그것은 인수 가능성은와 유사합니다.has_table_privilege. 원하는 액세스 권한 유형은의 일부 조합으로 평가해야합니다.생성, Connect, 임시또는temp( 에 해당합니다.임시).

has_function_privilege확인 사용자가 특정 방식으로 윈 토토에 액세스 할 수 있는지 여부 그것은 인수 가능성은와 유사합니다.has_table_privilege. 함수를 지정할 때 OID가 아닌 텍스트 문자열로 허용 된 입력은 동일합니다.Regrocedure데이터 유형 (참조PostgreSQL : 문서 : 9.3 : 객체 식별자 토토 캔). 원하는 액세스 권한 유형은를 평가해야합니다.execute. 예는 다음과 같습니다.

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

has_foreign_data_wrapper_privilege사용자가 특별한 방법. 그것의 주장 가능성은와 유사하다.has_table_privilege. 원하는 액세스 권한 유형은 평가해야합니다.usage.

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

has_schema_privilege확인 사용자가 특정 방식으로 스키마에 액세스 할 수 있는지 여부 그것은 인수 가능성은와 유사합니다.has_table_privilege. 원하는 액세스 권한 유형은의 일부 조합으로 평가해야합니다.생성또는usage.

has_server_privilege확인 사용자가 특정 방식으로 외국 서버에 액세스 할 수 있는지 여부 그것은 인수 가능성은와 유사합니다.has_table_privilege. 원하는 액세스 권한 유형은 평가해야합니다usage.

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

has_type_privilege여부를 확인합니다 사용자는 특정 방식으로 유형에 액세스 할 수 있습니다. 그것의 주장 가능성은와 유사합니다.has_table_privilege. a로 유형을 지정할 때 OID가 아닌 텍스트 문자열은 허용 된 입력은 다음과 같습니다.Regtype데이터 유형 (참조섹션 8.18). 원하는 액세스 권한 유형은 평가해야합니다usage.

PG_HAS_ROLE사용자 여부를 확인합니다 특정 방식으로 역할에 액세스 할 수 있습니다. 그것의 주장 가능성 와 유사하다has_table_privilege, 그것을 제외하고공개| 사용자 이름. 원하는 액세스 권한 유형은 일부로 평가해야합니다 의 조합회원또는usage. 회원역할의 직간접 회원 자격 (즉, 할 권리역할 설정), whileusage역할의 특권이 있는지 여부를 나타냅니다 하지 않고 즉시 사용할 수 있습니다세트 역할.

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

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

표 9-54. 스키마 가시성 문의 윈 토토

이름 반환 유형 설명
pg_collation_is_visible (Collation_oid) 부울 검색 경로에서 Collation이 표시됩니다
pg_conversion_is_visible (converion_oid) 부울 검색 경로에서 전환이 표시됩니다
pg_function_is_visible (function_oid) 부울 검색 경로에서 윈 토토이 표시됩니다
pg_opclass_is_visible (opclass_oid) 부울 검색 경로에서 운영자 클래스가 표시됩니다
pg_operator_is_visible (Operator_oid) 부울 운영자가 검색 경로에 표시됩니다
pg_opfamily_is_visible (opclass_oid) 부울 운영자 패밀리가 검색 경로에 보이는가
pg_table_is_visible (table_oid) 부울 검색 경로에서 테이블이 표시됩니다
pg_ts_config_is_visible (config_oid) 부울 텍스트 검색 구성이 검색 경로에 표시됩니다
pg_ts_dict_is_visible (dict_oid) 부울 텍스트 검색 사전은 검색 경로에 표시됩니다
pg_ts_parser_is_visible (parser_oid) 부울 텍스트 검색 파서가 검색 경로에 표시됩니다
pg_ts_template_is_visible (template_oid) 부울 텍스트 검색 템플릿이 검색 경로에 표시됩니다
pg_type_is_visible (type_oid) 부울 검색 경로에서 볼 수있는 유형 (또는 도메인)입니다

각 함수는 한 유형의 가시성 검사를 수행합니다. 데이터베이스 개체. 참고pg_table_is_visible보기와 함께 사용할 수 있습니다. 인덱스 및 시퀀스;pg_type_is_visible도메인과 함께 사용할 수도 있습니다. 함수 및 연산자의 경우 검색 경로의 객체는 같은 이름의 객체가없는 경우 표시및 인수 데이터 유형 (들)이전 길. 운영자 클래스의 경우 이름 및 관련 인덱스 액세스 방법이 고려됩니다.

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

PG_TYPE_IS_VISIBE ( 'MySCHEMA.WIDGET':: regtype); 선택

테스트하는 것은 의미가 없습니다. 이런 방식으로 비 스키마 자격이없는 유형 이름-이름이 될 수있는 경우 전혀 인식해야합니다.

테이블 9-55시스템에서 정보를 추출하는 윈 토토을 나열합니다 카탈로그.

표 9-55. 시스템 카탈로그 정보 윈 토토

이름 반환 유형 설명
format_type (type_oid, typemod) 텍스트 데이터 유형의 SQL 이름 가져 오기
pg_describe_object (catalog_id, object_id, object_sub_id) 텍스트 데이터베이스 개체 설명
pg_identify_object (catalog_id OID, object_id OID, object_sub_id 정수) type 텍스트, 스키마 텍스트, 이름 텍스트, Identity 텍스트 데이터베이스 객체의 ID 받기
pg_get_constraintdef (제약 _OOD) 텍스트 제약 조건의 정의 받기
pg_get_constraintdef (제약 _OOD, pretty_bool) 텍스트 제약 조건의 정의 받기
pg_get_expr (pg_node_tree, relation_oid) 텍스트 표현식의 내부 형태를 디 컴파일 한 것으로 가정합니다 그것의 vars는 두 번째로 표시된 관계를 나타냅니다. 매개 변수
pg_get_expr (pg_node_tree, relation_oid, pretty_bool) 텍스트 표현의 내부 형태를 디 컴파일 한 것으로 가정합니다 그것의 vars는 두 번째로 표시된 관계를 나타냅니다. 매개 변수
pg_get_functionDef (func_oid) 텍스트 함수 정의 받기
pg_get_function_arguments (func_oid) 텍스트 윈 토토 정의의 인수 목록 가져 오기 (기본값 포함 값)
pg_get_function_identity_arguments (func_oid) 텍스트 함수를 식별하려면 인수 목록을 가져옵니다 (기본값없이 값)
pg_get_function_result (func_oid) 텍스트 get반환함수 조항
pg_get_indexdef (index_oid) 텍스트 get색인 생성명령 색인
pg_get_indexdef (index_oid, column_no, pretty_bool) 텍스트 get색인 생성색인에 대한 명령, 또는 하나의 색인 열의 정의column_nois Zero
pg_get_keywords () Setof Record SQL 키워드 및 해당 범주 목록 가져 오기
pg_get_ruledef (rule_oid) 텍스트 get규칙 작성규칙을위한 명령
pg_get_ruledef (rule_oid, pretty_bool) 텍스트 get규칙 만들기규칙을위한 명령
PG_GET_SERIAL_SEATENCENCE (table_name, column_name) 텍스트 a 시퀀스 이름 얻기Serial, SmallSerial또는bigserial열 용도
pg_get_triggerdef(trigger_oid) 텍스트 get[제약 조건] 트리거 만들기트리거 명령
pg_get_triggerdef(trigger_oid, pretty_bool) 텍스트 get[구속 조건] 트리거 만들기트리거 명령
PG_GET_USERBYID (역할 _oid) 이름 주어진 OID로 역할 이름 가져 오기
pg_get_viewdef (View_Name) 텍스트 기본select보기에 명령 또는 구체화 된보기 (감가 상각)
pg_get_viewdef (View_Name, pretty_bool) 텍스트 기본select보기에 명령 또는 구체화 된보기 (감가 상각)
pg_get_viewdef (View_oid) 텍스트 기본select보기에 명령 또는 구체화 된보기
pg_get_viewdef (View_oid, pretty_bool) 텍스트 기본select보기에 명령 또는 구체화 된보기
pg_get_viewdef (View_oid, wrap_column_int) 텍스트 기본select보기에 명령 또는 구체화 된 견해; 필드가있는 라인은 지정된 것으로 래핑됩니다 열의 수, 꽤 인쇄 된 암시
pg_options_to_table (다시) Setof Record 스토리지 옵션 세트 가져 오기 이름/값 쌍
PG_TABLESPACE_DATABASES (TableSpace_oid) OID 세트 테이블 스페이스
pg_tablespace_location (TableSpace_oid) 텍스트 이 테이블 스페이스가 위치한 파일 시스템의 경로 가져 오기 안에
pg_typeof (any) Regtype 값의 데이터 유형 가져 오기
Collation for (any) 텍스트 인수의 협업을 받으십시오

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

pg_get_keywords세트를 반환합니다 서버에서 인식하는 SQL 키워드를 설명하는 레코드. 그만큼Word열에는 키워드가 포함되어 있습니다. 그만큼catcode열에는 범주가 포함되어 있습니다 암호:U보존되지 않은 경우C열 이름,t유형 또는 함수 이름 또는r예약. 그만큼Catdesc열에는 a를 포함합니다 범주를 설명하는 국소화 된 문자열.

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

pg_get_functionDef반환 a 완벽한함수 생성 또는 교체함수에 대한 명령문.pg_get_function_arguments인수를 반환합니다 함수 목록, 형식으로 내부에 표시해야합니다윈 토토 생성. pg_get_function_result마찬가지로 적절한반환윈 토토.pg_get_function_identity_arguments반환합니다 형식으로 함수를 식별하는 데 필요한 인수 목록 내부에 나타나야합니다ALTER 윈 토토51598_51647

PG_GET_SERIAL_SEATENCE반환합니다 열과 관련된 시퀀스의 이름 또는 null 시퀀스는 열과 관련이 있습니다. 첫 번째 입력 매개 변수 선택적 스키마가있는 테이블 이름이고 두 번째 매개 변수는 열 이름. 첫 번째 매개 변수는 잠재적으로 스키마이기 때문입니다 그리고 테이블, 그것은 이중 인용 식별자로 취급되지 않습니다. 두 번째 매개 변수는 기본적으로 더 낮은 케이스입니다. 단지 열 이름, 이중 인용문으로 취급되며 케이스가 있습니다. 보존. 이 함수는 적절하게 형식화 된 값을 반환합니다 시퀀스 윈 토토으로 전달 (참조섹션 9.16). 이 협회는 할 수 있습니다 수정 또는 제거ALTER 시퀀스 소유자. (이 윈 토토은 아마도라고 불렀을 것입니다.PG_GET_OWNED_SEATENCE; 현재 이름은 일반적으로와 함께 사용된다는 사실을 반영합니다.Serial또는bigserial열.)

PG_GET_USERBYID역할을 추출합니다 이름이 주어진 이름.

pg_options_to_table반환합니다 스토리지 옵션 세트 이름/값 쌍 (옵션_name/옵션 _value) 통과했을 때pg_class.다시또는pg_attribute.Attoptions.

PG_TABLESPACE_DATABASES허용 a 검사 할 테이블 스페이스. 데이터베이스의 OID 세트를 반환합니다 테이블 스페이스에 객체가 저장되어 있습니다. 이 윈 토토이라면 행을 반환하면 테이블 스페이스가 비어 있지 않으며 떨어졌다. 테이블 스페이스를 채우는 특정 객체를 표시하려면 에 식별 된 데이터베이스에 연결해야합니다.PG_TABLESPACE_DATABASES및 쿼리 그들의pg_class카탈로그.

pg_describe_object반환 a Catalog OID가 지정한 데이터베이스 개체에 대한 텍스트 설명 Object OID 및 A (가능성이없는) 하위 객체 ID. 이 설명은입니다 인간이 읽을 수 있으며, 번역 될 수 있습니다 서버 구성에서. 이것은 정체성을 결정하는 데 유용합니다 에 저장된 대상의pg_depend카탈로그.

pg_identify_object행을 반환합니다 데이터베이스를 고유하게 식별하기에 충분한 정보가 포함되어 있습니다 카탈로그 OID, Object OID 및 A (아마도 0)로 지정된 개체 서브 객체 ID. 이 정보는 기계 판독 가능하고 그리고 번역되지 않았습니다.타입식별 데이터베이스 객체의 유형;스키마IS 객체가 속한 스키마 이름, 또는NULL스키마에 속하지 않는 객체 유형의 경우;이름인용 된 개체의 이름입니다 필요한 경우 사용할 수있는 경우에만 존재합니다 (스키마와 함께 객체의 고유 식별자로서의 이름, 관련이면), 그렇지 않으면NULL;Identity완전한 객체 아이덴티티이며, 정확한 형식에 따라 객체 유형 및 형식 내의 각 부분에서 스키마-자격이 및 필요에 따라 인용되었습니다.

pg_typeof전달되는 값의 데이터 유형. 이것은 도움이 될 수 있습니다 SQL 쿼리 문제 해결 또는 동적 구성. 그만큼 윈 토토은 반환으로 선언됩니다Regtype, OID 별칭 유형입니다 (참조PostgreSQL : 문서 : 9.3 : 객체 식별자 토토 캔); 이것은 비교를위한 OID와 동일하다는 것을 의미합니다. 목적이지만 유형 이름으로 표시됩니다. 예를 들어:

선택 PG_TYPEOF (33);

 pg_typeof 
----------
 정수
(1 줄)

pg_type에서 typlen을 선택하십시오. 여기서 oid = pg_typeof (33);
 Typlen 
--------
      4
(1 행)

표현Collation for반환 그것에 전달되는 값의 충돌. 예:

PG_DESCRIPTION LIMIT 1에서 (설명)에 대한 Collation을 선택합니다.
 pg_collation_for 
-----------------
 "기본"
(1 줄)

( 'foo'collate "de_de")에 대한 collation을 선택하십시오.
 pg_collation_for 
-----------------
 "de_de"
(1 행)

값은 인용되고 스키마 자격이 될 수 있습니다. Collation이없는 경우 인수 표현을 위해 파생 된 다음 널 값은 반환. 인수가 Collatable 데이터 유형이 아닌 경우 오류가 제기됩니다.

표 9-56이전에 저장된 주석 추출댓글명령. 널 값이 반환됩니다 지정된 매개 변수에 대한 의견을 찾을 수 없습니다.

표 9-56. 의견 정보 윈 토토

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

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

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

shobj_description만 사용됩니다 좋다obj_description공유 객체에 대한 의견을 검색하는 데 사용됩니다. 일부 시스템 카탈로그는 각 클러스터 내의 모든 데이터베이스에 전 세계적으로 그들 안에있는 물체에 대한 설명은 전 세계적으로 저장됩니다.

표 9-57서버 트랜잭션 정보를 내보낼 수있는 형태로 제공합니다. 그만큼 이러한 윈 토토의 주요 사용은 어떤 트랜잭션을 결정하는 것입니다. 두 개의 스냅 샷 사이에 커밋.

표 9-57. 트랜잭션 ID 및 스냅 샷

이름 반환 유형 설명
TXID_CURRENT () bigint 현재 트랜잭션 ID 받기
TXID_CURRENT_SNAPSHOT () TXID_SNAPSHOT 현재 스냅 샷 가져 오기
TXID_SNAPSHOT_XIP (TXID_SNAPSHOT) bigint 세트 Snapshot에서 진행중인 트랜잭션 ID 받기
TXID_SNAPSHOT_XMAX (TXID_SNAPSHOT) bigint getxmax스냅 샷
TXID_SNAPSHOT_XMIN (TXID_SNAPSHOT) bigint getxminof Snapshot
txid_visible_in_snapshot (bigint, TXID_SNAPSHOT) 부울 스냅 샷에 트랜잭션 ID가 표시됩니까? (사용하지 마십시오 서브 트랜잭션 ID)

내부 트랜잭션 ID 유형 (xid) IS 32 비트의 너비와 40 억 건의 거래마다 감싸고 있습니다. 그러나 이러한 윈 토토은 확장 된 64 비트 형식을 수출합니다. 와 함께"Epoch"카운터는 그렇지 않습니다 설치의 수명 동안 감싸십시오. 사용 된 데이터 유형 이 윈 토토에 의해TXID_SNAPSHOT, 상점 특정 순간에 트랜잭션 ID 가시성에 대한 정보 시간이 지남에 따라. 그 구성 요소는에 설명되어 있습니다.테이블 9-58.

표 9-58. 스냅 샷 구성 요소

이름 설명
xmin 여전히 활성화 된 최초의 트랜잭션 ID (TXID). 모두 이전 거래는 커밋되고 가시적입니다 롤백과 죽음.
xmax 첫 번째로 설계되지 않은 TXID. 모든 TXID는 더 크거나 동일합니다 스냅 샷시기에 아직 시작되지 않았으며 따라서 보이지 않는.
xip_list 스냅 샷 시점에 활성 TXIDS. 목록에는 포함됩니다 그 사이의 활성 txid 만xminandxmax; 활성 TXID가 더 높을 수 있습니다 보다xmax. TXIDxmin <= txid <xmax이 목록에 있지 않았습니다 스냅 샷시 이미 완료되었으므로 커밋 상태에 따라 눈에 띄거나 죽었습니다. 목록은 그렇지 않습니다 subrantactions의 txids 포함.

TXID_SNAPSHOT의 텍스트 표현은xmin:xmax:xip_list. 예를 들어10:20:10,14,15평균xmin = 10, xmax = 20, xip_list = 10, 14, 15.