윈 토토 : 문서 : 9.4 : 윈 토토 | |||
---|---|---|---|
4300스포츠 토토 베트맨100-100300 | PostgreSQL : 문서 : 9.4 : 스포츠 토토 결과 및 연산자 | 제 9 장 롤 토토 및 연산자 | PostgreSQL : 문서 : 9.4 : 시스템 관리 토토 사이트 추천 |
표 9-56세션 및 시스템 롤 토토를 추출하는 몇 가지 기능을 보여줍니다.
이 섹션에 나열된 기능 외에도 시스템 롤 토토를 제공하는 통계 시스템과 관련된 여러 기능이 있습니다. 보다섹션 27.2.2자세한 내용은
표 9-56. 세션 정보 롤 토토
이름 | 반환 유형 | 설명 |
---|---|---|
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
허가 확인에 적용되는 롤 토토 식별자입니다. 일반적으로 세션 롤 토토와 동일하지만로 변경할 수 있습니다.PostgreSQL : 문서 : 9.4 : 윈 토토 설정. 또한 속성으로 함수 실행 중에 변경Security Definer. Unix Parlance에서 세션 롤 토토는입니다."실제 롤 토토"그리고 현재 롤 토토는입니다."효과적인 롤 토토". current_role
and롤 토토
동의어입니다current_user
. (SQL 표준은을 구별합니다.current_role
andcurrent_user
하지만PostgreSQL롤 토토와 역할을 단일 종류의 엔티티로 통합하기 때문에 그렇지 않습니다.)
current_schema
검색 경로에서 첫 번째 스키마 이름을 반환합니다 (또는 검색 경로가 비어있는 경우 널 값). 이것은 대상 스키마를 지정하지 않고 생성 된 모든 테이블 또는 기타 지정된 개체에 사용될 스키마입니다.current_schemas (부울)
현재 검색 경로에서 모든 스키마의 이름을 반환합니다. 부울 옵션은 암시 적으로 포함 된 시스템 스키마를 포함하는지 여부를 결정합니다.PG_CATALOG반환 된 검색 경로에 포함되어 있습니다.
참고 :검색 경로는 실행 시간에 변경 될 수 있습니다. 명령은 다음과 같습니다.
search_path를 설정스키마[, 스키마, ...]
pg_listening_channels
현재 세션에서 듣고있는 채널 이름 세트를 반환합니다. 보다무지개 토토 : 문서 : 9.4 : 듣기자세한 내용은
inet_client_addr
현재 클라이언트의 IP 주소를 반환하고inet_client_port
포트 번호를 반환합니다.inet_server_addr
서버가 현재 연결을 수락 한 IP 주소를 반환하고inet_server_port
포트 번호를 반환합니다. 현재 연결이 Unix-Domain 소켓을 통해 인 경우 이러한 모든 롤 토토이 NULL을 반환합니다.
pg_my_temp_schema
현재 세션의 임시 스키마의 OID를 반환합니다.pg_is_other_temp_schema
주어진 OID가 다른 세션의 임시 스키마의 OID 인 경우 true를 반환합니다. (예를 들어, 카탈로그 디스플레이에서 다른 세션의 임시 테이블을 제외하는 데 유용 할 수 있습니다.)
PG_POSTMASTER_START_TIME
반환시간대가있는 타임 스탬프서버가 시작된 시점.
pg_conf_load_time
반환시간대가있는 타임 스탬프서버 구성 파일이 마지막으로로드 된 경우. (현재 세션이 당시에 살아 있으면 세션 자체가 구성 파일을 다시 읽을 때가되므로 읽기는 다른 세션마다 약간 다릅니다. 그렇지 않으면 Postmaster 프로세스가 구성 파일을 다시 읽을 때입니다.).
버전
를 설명하는 문자열을 반환합니다PostgreSQL서버 버전.
표 9-57롤 토토가 프로그래밍 방식으로 객체 액세스 권한을 쿼리 할 수있는 함수를 나열합니다. 보다PostgreSQL : 문서 : 9.4 : 토토특권에 대한 자세한 내용은
표 9-57. 액세스 권한 문의 롤 토토
이름 | 반환 유형 | 설명 |
---|---|---|
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 (스키마, 특권) |
부울 | 현재 롤 토토는 스키마에 대한 권한이 있습니까 |
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_privilege
, 원하는 액세스 권한 유형이 일부 조합으로 평가해야한다는 점을 제외하고select, 삽입, 업데이트, 또는참조. 테이블 레벨에 이러한 권한을 두는 것은 테이블의 각 열에 대해 암시 적으로이를 부여하므로has_any_column_privilege
항상 돌아올 것입니다Trueifhas_table_privilege
동일한 인수를합니다. 하지만has_any_column_privilege
최소한 하나의 열에 대한 특권의 열 수준 보조금이 있으면 성공합니다.
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.4 : 객체 식별자 토토 사이트). 원하는 액세스 권한 유형은 평가해야합니다.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
32480_32535usage.
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
. OID가 아닌 텍스트로 유형을 지정할 때 허용 입력은와 동일합니다.Regtype데이터 유형 (참조PostgreSQL : 문서 : 9.4 : 객체 식별자 토토 사이트). 원하는 액세스 권한 유형은 평가해야합니다.usage.
PG_HAS_ROLE
롤 토토가 특정 방식으로 역할에 액세스 할 수 있는지 확인합니다. 그것의 주장 가능성은와 유사하다.has_table_privilege
를 제외하고public는 롤 토토 이름으로 허용되지 않습니다. 원하는 액세스 권한 유형은 일부 조합으로 평가해야합니다.회원또는usage. 회원역할의 직접 또는 간접 회원 자격을 나타냅니다 (즉, 할 권리역할 설정), while사용법역할의 특권을 즉시 수행하지 않고 사용할 수 있는지를 나타냅니다역할 설정.
표 9-58특정 객체가 있는지 여부를 결정하는 함수를 보여줍니다가시적현재 스키마 검색 경로에서. 예를 들어, 포함 된 스키마가 검색 경로에 있고 검색 경로의 앞부분에서 동일한 이름의 테이블이 나타나지 않으면 테이블이 표시되는 것으로 알려져 있습니다. 이는 표가 명시 적 스키마 자격없이 이름으로 표를 참조 할 수 있다는 진술과 동일합니다. 모든 가시 테이블의 이름을 나열하려면 :
pg_class에서 pg_table_is_visible (oid);에서 relname을 선택하십시오.
표 9-58. 스키마 가시성 문의 롤 토토
이름 | 반환 유형 | 설명 |
---|---|---|
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
도메인과 함께 사용할 수도 있습니다. 함수 및 연산자의 경우 동일한 이름의 개체가없는 경우 검색 경로의 객체가 표시됩니다.및 인수 데이터 유형 (S)경로 초반. 운영자 클래스의 경우 이름과 관련 인덱스 액세스 방법이 모두 고려됩니다.
이 모든 함수는 확인할 객체를 식별하려면 객체 OID가 필요합니다. 이름으로 객체를 테스트하려면 OID 별명 유형을 사용하는 것이 편리합니다 (RegClass, Regtype, 레지비어, Regoperator, RegConfig또는Regdictionary), 예 :
PG_TYPE_IS_VISIBE ( 'MySCHEMA.WIDGET':: RegType); 선택
이런 방식으로 비 스키마 자격이없는 유형 이름을 테스트하는 것은 의미가 없을 것입니다. 이름을 전혀 인식 할 수 있다면 가시적되어야합니다.
표 9-59시스템 카탈로그에서 정보를 추출하는 롤 토토을 나열합니다.
표 9-59. 시스템 카탈로그 정보 롤 토토
이름 | 반환 유형 | 설명 |
---|---|---|
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 정수) |
타입 텍스트, 스키마 텍스트, 이름 텍스트, 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_sequence (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 세트 | 테이블 스페이스에 객체가있는 데이터베이스 OID 세트를 가져옵니다 |
pg_tablespace_location (TableSpace_oid) |
텍스트 | 이 테이블 스페이스에있는 파일 시스템의 경로를 가져옵니다 |
pg_typeof (Any) |
Regtype | 값의 데이터 유형 가져 오기 |
Collation for (Any) |
텍스트 | 인수의 협력을 받으십시오 |
to_regclass (rel_name) |
RegClass | 지명 된 관계의 OID 받기 |
to_regproc (func_name) |
Regproc | 지명 된 함수의 OID 받기 |
to_regprocedure (func_name) |
레지비어 | 지명 된 함수의 OID 받기 |
to_regoper (OPERATOR_NAME) |
Regoper | 지명 된 연산자의 OID 받기 |
to_regoperator (OPERATOR_NAME) |
Regoperator | 지정된 연산자의 OID 받기 |
to_regtype (type_name) |
Regtype | 명명 된 유형의 OID 받기 |
format_type
유형 OID 및 유형 수정 자로 식별되는 데이터 유형의 SQL 이름을 반환합니다. 특정 수정자가 알려지지 않은 경우 유형 수정 자의 NULL을 전달하십시오.
pg_get_keywords
서버에서 인식 한 SQL 키워드를 설명하는 일련의 레코드를 반환합니다. 그만큼Word열에는 키워드가 포함되어 있습니다. 그만큼catcode열은 카테고리 코드를 포함합니다 :U보존되지 않은 경우C열 이름,t유형 또는 함수 이름 또는r예약. 그만큼catdesc열은 범주를 설명하는 가능한 국소화 된 문자열을 포함합니다.
pg_get_constraintdef
, pg_get_indexdef
, PG_GET_RULEDEF
및pg_get_triggerdef
, 각각 제약 조건, 인덱스, 규칙 또는 트리거에 대한 작성 명령을 재구성합니다. (이것은 명령의 원본 텍스트가 아니라 소환 된 재구성입니다.)pg_get_expr
열의 기본 값과 같은 개별 표현식의 내부 형태를 소환합니다. 시스템 카탈로그의 내용을 검사 할 때 유용 할 수 있습니다. 표현식에 Vars가 포함될 수있는 경우, 두 번째 매개 변수라고하는 관계의 OID를 지정합니다. VARS가 예상되지 않으면 0이 충분합니다.pg_get_viewdef
재구성select보기를 정의하는 쿼리. 이러한 롤 토토의 대부분은 두 가지 변형으로 제공되며 그 중 하나는 선택적으로"Pretty-Print"결과. 예쁜 인쇄 형식은 더 읽기 쉽지만 기본 형식은 향후 버전의에 의해 같은 방식으로 해석 될 가능성이 높습니다.PostgreSQL; 덤프 목적으로 인쇄 된 출력을 사용하지 마십시오. 통과falsePretty Print 매개 변수의 경우 매개 변수가 전혀없는 변형과 동일한 결과를 얻습니다.
pg_get_functionDef
전체 반환함수 생성 또는 교체함수에 대한 명령문.pg_get_function_arguments
함수의 인수 목록을 반환합니다.함수 생성. pg_get_function_result
마찬가지로 적절한 것을 반환합니다반환함수에 대한 조항pg_get_function_identity_arguments
함수를 식별하는 데 필요한 인수 목록을 반환합니다.Alter Function52614_52663
PG_GET_SERIAL_SEATENCE
열과 관련된 시퀀스의 이름을 반환하거나 열과 관련된 시퀀스가없는 경우 NULL을 반환합니다. 첫 번째 입력 매개 변수는 선택적 스키마가있는 테이블 이름이고 두 번째 매개 변수는 열 이름입니다. 첫 번째 매개 변수는 잠재적으로 스키마 및 테이블이기 때문에 이중 인용 식별자로 취급되지 않으므로 기본적으로 카세트가 낮아지고 두 번째 매개 변수는 단지 열 이름 인 경우 두 배의 인용문으로 처리되며 케이스가 보존됩니다. 함수는 시퀀스 함수로 전달하기 위해 적절한 형식의 값을 반환합니다 (참조PostgreSQL : 문서 : 9.4 : 토토 핫 조작 함수). 이 협회는와 함께 수정하거나 제거 할 수 있습니다.Alter Sequence 소유. (이 롤 토토은 아마도라고 불렀을 것입니다.pg_get_owned_sequence
; 현재 이름은 일반적으로와 함께 사용된다는 사실을 반영합니다.Serial또는bigserial열.)
PG_GET_USERBYID
OID가 주어진 역할 이름을 추출합니다.
pg_options_to_table
스토리지 옵션 세트를 반환합니다 옵션 이름/값 쌍 (옵션_name/옵션_value) 통과시PG_CLASS.다시또는PG_ATTRIBUT.Attoptions.
PG_TABLESPACE_DATABASES
테이블 스페이스를 검사 할 수 있습니다. 테이블 스페이스에 저장된 개체가있는 데이터베이스의 OID 세트를 반환합니다. 이 함수가 행을 반환하면 테이블 스페이스가 비어 있지 않아 떨어질 수 없습니다. 테이블 스페이스를 채우는 특정 객체를 표시하려면에 식별 된 데이터베이스에 연결해야합니다.PG_TABLESPACE_DATABASES
queryPG_CLASS카탈로그.
pg_describe_object
Catalog OID, Object OID 및 A (가능성이있는) 하위 객체 ID로 지정된 데이터베이스 개체에 대한 텍스트 설명을 반환합니다. 이 설명은 사람이 읽을 수 있으며 서버 구성에 따라 번역 될 수 있습니다. 이것은에 저장된 객체의 신원을 결정하는 데 유용합니다pg_depender카탈로그
pg_identify_object
Catalog OID, Object OID 및 A (가능성이없는) 하위 객체 ID로 지정된 데이터베이스 개체를 고유하게 식별하기에 충분한 정보가 포함 된 행을 반환합니다. 이 정보는 기계를 읽을 수 있도록 의도되었으며 번역되지 않습니다.타입데이터베이스 객체의 유형을 식별합니다;스키마객체가 속한 스키마 이름, 또는NULL스키마에 속하지 않는 객체 유형의 경우;이름객체의 이름이며, 필요한 경우 인용 된 객체의 이름이며, 사용할 수있는 경우에만 존재합니다 (적절한 경우 스키마 이름과 함께) 객체의 고유 식별자로NULL;Identity| 객체 유형에 따라 정확한 형식을 갖는 완전한 개체 아이덴티티이며, 각 부품 내 형식은 스키마 자격을 갖추고 필요에 따라 인용됩니다..
pg_typeof
전달 된 값의 데이터 유형의 OID를 반환합니다. 이는 SQL 쿼리 문제 해결 또는 동적 구성에 도움이 될 수 있습니다. 이 롤 토토은 반환으로 선언됩니다Regtype, OID 별칭 유형입니다 (참조PostgreSQL : 문서 : 9.4 : 객체 식별자 토토 사이트); 이것은 비교 목적으로 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 데이터 유형이 아닌 경우 오류가 발생합니다.
theto_regclass
, to_regproc
, to_regprocedure
, to_regoper
, to_regoperator
및to_regtype
함수 관계, 롤 토토, 연산자 및 유형 이름을 유형의 개체로 번역RegClass, Regproc, 레지비어, Regoper, Regoperator및Regtype57790_57984to_regproc
및to_regoper
, 주어진 이름이 여러 개체와 일치하는 경우).
표 9-60이전에 저장된 주석 추출스포츠 토토 베트맨 : 문서 : 9.4 : 스포츠 토토 베트맨명령. 지정된 매개 변수에 대한 주석을 찾을 수없는 경우 널 값이 반환됩니다.
표 9-60. 의견 정보 롤 토토
이름 | 반환 유형 | 설명 |
---|---|---|
col_description (table_oid, column_number) |
텍스트 | 테이블 열에 대한 의견 받기 |
obj_description (Object_oid, catalog_name) |
텍스트 | 데이터베이스 개체에 대한 주석 받기 |
obj_description (Object_oid) |
텍스트 | 데이터베이스 개체에 대한 주석 받기 (감가 상각) |
shobj_description (Object_oid, catalog_name) |
텍스트 | 공유 데이터베이스 개체에 대한 의견 받기 |
col_description
테이블의 OID 및 열 번호로 지정된 테이블 열에 대한 주석을 반환합니다. (obj_description
열에는 자신의 OID가 없으므로 표 열에 사용할 수 없습니다.)
2 파라미터 형태obj_description
OID와 포함 시스템 카탈로그의 이름으로 지정된 데이터베이스 개체에 대한 주석을 반환합니다. 예를 들어,obj_description (123456, 'pg_class')OID 123456을 사용하여 표에 대한 주석을 검색 할 것입니다. 1 개의 파라미터 형태obj_description
객체 OID 만 필요합니다. OID가 다른 시스템 카탈로그에서 독특하다는 보장이 없기 때문에 더 이상 사용되지 않습니다. 따라서 잘못된 의견이 반환 될 수 있습니다.
shobj_description
처럼 사용됩니다obj_description
공유 객체에 대한 의견을 검색하는 데 사용됩니다. 일부 시스템 카탈로그는 각 클러스터 내의 모든 데이터베이스에 전 세계적이며 그 객체에 대한 설명은 전 세계적으로 저장됩니다.
표 9-61서버 트랜잭션 정보를 내보낼 수있는 형태로 제공합니다. 이러한 롤 토토의 주요 용도는 두 개의 스냅 샷 사이에 어떤 트랜잭션이 커밋되었는지 결정하는 것입니다.
표 9-61. 트랜잭션 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)는 폭 32 비트이며 40 억 건의 거래마다 랩핑됩니다. 그러나 이러한 롤 토토은 64 비트 형식을 내보내며"Epoch"카운터는 설치 중에 감싸지 않습니다. 이러한 롤 토토에 사용되는 데이터 유형TXID_SNAPSHOT, 특정 순간에 트랜잭션 ID 가시성에 대한 정보를 저장합니다. 그 구성 요소는에 설명되어 있습니다.표 9-62.
표 9-62. 스냅 샷 구성 요소
이름 | 설명 |
---|---|
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.