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

9.23. 시스템 정보 기능

표 9-48세션과 시스템을 추출하는 몇 가지 기능을 보여줍니다

이 섹션에 나열된 기능 외에도섹션 27.2.2자세한 내용은

표 9-48. 세션 정보 기능

이름 반환 유형 설명
current_catalog 이름 현재 데이터베이스 이름 (호출"카탈로그"SQL 표준에서)
current_database () 이름 현재 데이터베이스 이름
current_query () ​​텍스트 제출 된대로 현재 실행중인 쿼리의 텍스트
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 () 시간대가있는 타임 스탬프 서버 시작 시간
session_user 이름 세션 사용자 이름
사용자 이름 동등한current_user
version () ​​텍스트 PostgreSQL버전

참고 : current_catalog, current_schema, current_user, session_user사용자특별한 구문 상태가있어SQL: 호출해야합니다current_schema그러나

thesession_user보통입니다세션 설정. 그만큼current_user허가에 적용되는 사용자 식별자입니다역할 설정. 또한Security Definer. 유니 닉스 앵글 런스에서"실제 사용자""효과.

current_schema이름을 반환합니다current_schemas (부울)배열을 반환합니다PG_CATALOG

참고 :검색 경로는 실행 시간에 변경 될 수 있습니다.

search_path를 설정스키마 [, 스키마, ...]

pg_listening_channels반환 a듣기더 많은 것

inet_client_addrIP를 반환합니다inet_client_port포트 번호를 반환합니다.inet_server_addrIP를 반환합니다inet_server_port포트를 반환합니다

pg_my_temp_schema반환pg_is_other_temp_schema반환

PG_POSTMASTER_START_TIME반환시간대가있는 타임 스탬프언제

pg_conf_load_time반환시간대가있는 타임 스탬프서버시기

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

표 9-49사용자가 객체 액세스를 쿼리 할 수있는 함수를 나열합니다.섹션특권에 대한 자세한 내용은

표 9-49. 액세스 권한 문의

이름 반환 유형 설명
has_any_column_privilege(사용자, 테이블, 특권) 부울 사용자는 테이블의 모든 열에 대한 특권이 있습니까
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(테이블 스페이스, 특권) 부울 현재 사용자는 테이블 스페이스에 대한 특권이 있습니까
PG_HAS_ROLE(사용자, 역할, 특권) 부울 사용자는 역할에 대한 특권이 있습니까
PG_HAS_ROLE(역할, 특권) 부울 현재 사용자는 역할에 대한 특권이 있습니까

has_table_privilege확인OID), publictocurrent_user가 가정됩니다. 테이블has_table_privilege,select, 삽입, 업데이트, 삭제, Truncate, 참조또는트리거. 선택적으로,보조금 옵션권한 유형에 추가 할 수 있습니다trueIF

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

has_sequence_privilege확인has_table_privilege. 원하는 액세스usage, select또는업데이트.

has_any_column_privilege확인has_table_privilege28945_29031select, 삽입, 업데이트또는참조. 이것들 중 하나가 있습니다has_any_column_privilege항상 돌아올 것입니다trueifhas_table_privilege동일합니다has_any_column_privilege거기에도 성공합니다

has_column_privilege확인has_table_privilegeselect, 삽입, 업데이트또는참조. 어떤 것도 가지고 있습니다

has_database_privilege확인has_table_privilege. 원하는 액세스Create, Connect, 임시또는temp(임시).

has_function_privilege확인has_table_privilege. 함수를 지정할 때Regrocedure데이터 유형 (참조섹션 8.16). 원하는 액세스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. 원하는 액세스Create또는usage.

has_server_privilege확인has_table_privilege. 원하는 액세스usage.

has_tablespace_privilege확인has_table_privilege. 원하는 액세스Create.

PG_HAS_ROLEahas_table_privilegepublic사용자 이름으로 허용되지 않습니다. 원하는회원또는usage. 회원를 나타냅니다역할 설정), whileusage역할의 특권 여부를 나타냅니다세트.

표 9-50특정 객체가 있는지 여부를 결정하는 함수를 보여줍니다가시적현재 스키마 검색에서

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

표 9-50. 스키마 가시성 문의

이름 반환 유형 설명
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_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가 필요합니다.Regclass, Regtype, Regrocedure, Regoperator, RegConfig또는RegDictionary), 예 :

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

테스트하는 것은 의미가 없습니다.

표 9-51시스템에서 정보를 추출하는 기능을 나열합니다

표 9-51. 시스템 카탈로그 정보

이름 반환 유형 설명
format_type (type_oid, typemod) ​​텍스트 데이터 유형의 SQL 이름 가져 오기
pg_describe_object (catalog_id, object_id, object_sub_id) ​​텍스트 데이터베이스 개체 설명
pg_get_constraintdef (제약 _OOD) ​​텍스트 제약 조건의 정의 받기
pg_get_constraintdef (제약 _OOD, pretty_bool) ​​텍스트 제약 조건의 정의 받기
pg_get_expr (pg_node_tree, relation_oid) ​​텍스트 표현식의 내부 형태를 디 컴파일합니다
pg_get_expr (pg_node_tree, relation_oid, pretty_bool) ​​텍스트 표현식의 내부 형태를 디 컴파일합니다
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또는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) ​​텍스트 기본selectView ( 명령감가 상각)
pg_get_viewdef (View_Name, pretty_bool) ​​텍스트 기본selectView ( 명령감가 상각)
pg_get_viewdef (View_oid) ​​텍스트 기본select보기를위한 명령
pg_get_viewdef (View_oid, pretty_bool) ​​텍스트 기본select보기를위한 명령
pg_options_to_table (재학) Setof Record 스토리지 옵션 세트 가져 오기 이름/값 쌍
PG_TABLESPACE_DATABASES (TableSpace_oid) OID 설정
pg_typeof (Any) Regtype 값의 데이터 유형 가져 오기

format_typeSQL 이름을 반환합니다

pg_get_keywords세트를 반환합니다Word열에는 키워드가 포함되어 있습니다.catcode열에는 a를 포함합니다U예방 대상,C열 이름,T유형 또는 함수 이름 또는R예약. 그만큼Catdesc열에는 국소화 될 수 있습니다

pg_get_constraintdef, pg_get_indexdef, PG_GET_RULEDEFpg_get_triggerdef, 각각을 재구성합니다pg_get_exprpg_get_viewdef재구성select보기를 정의하는 쿼리. 최대"Pretty-Print"결과.PostgreSQL; 피하다false예쁜 인쇄 매개 변수는

pg_get_functionDef반환 a함수 생성 또는 교체함수에 대한 명령문.pg_get_function_arguments인수를 반환합니다함수 생성. pg_get_function_result마찬가지로반환pg_get_function_identity_arguments반환합니다ALTER, 예를 들어. 이 양식은 기본값을 생략합니다.

PG_GET_SERIAL_SEATENCE반환섹션 9.15). 이것Alter Sequence 소유. (아마도 기능pg_get_owned_sequence; 현재 이름Serial또는bigserial열.)

PG_GET_USERBYID추출 a

pg_options_to_table반환합니다옵션 _name/옵션_value)pg_class.재학또는pg_attribute.Attoptions.

PG_TABLESPACE_DATABASES허용 aPG_TABLESPACE_DATABASESpg_class카탈로그.

pg_describe_object반환 apg_depend카탈로그.

pg_typeofRegtype,섹션 8.16); 이것은 그것이

선택 PG_TYPEOF (33);

표 9-52이전에 저장된 주석 추출댓글명령. 널 값이 반환됩니다

표 9-52. 의견 정보 기능

이름 반환 유형 설명
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테이블에는 사용할 수 없습니다

2 파라미터 형태obj_description주석을 반환합니다obj_description (123456, 'pg_class')검색됩니다obj_description만 필요합니다

shobj_description만 사용됩니다obj_description

표 9-53서버 트랜잭션 정보를 내보낼 수있는 형태로 제공합니다. 그만큼

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

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

내부 트랜잭션 ID 유형 (xid)"Epoch"카운터는 그렇지 않습니다TXID_SNAPSHOT,테이블.

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

이름 설명
xmin 여전히 활성화 된 최초의 트랜잭션 ID (TXID).
xmax 첫 번째로 설계되지 않은 TXID. 모든 TXID는보다 큽니다
xip_list 스냅 샷 시점에 활성 TXIDS. 목록xminxmax;xmax. TXIDxmin <= txid

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