Postgresql 9.1.24 문서화 | ||||
---|---|---|---|---|
이전 | up | 9 장. | 다음 |
표 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_addr
IP를 반환합니다inet_client_port
포트 번호를 반환합니다.inet_server_addr
IP를 반환합니다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_privilege
28945_29031select, 삽입,
업데이트또는참조. 이것들 중 하나가 있습니다has_any_column_privilege
항상 돌아올 것입니다trueifhas_table_privilege
동일합니다has_any_column_privilege
거기에도 성공합니다
has_column_privilege
확인has_table_privilege
select, 삽입, 업데이트또는참조. 어떤 것도 가지고 있습니다
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_ROLE
ahas_table_privilege
public사용자 이름으로 허용되지 않습니다. 원하는회원또는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_type
SQL 이름을 반환합니다
pg_get_keywords
세트를 반환합니다Word열에는 키워드가 포함되어 있습니다.catcode열에는 a를 포함합니다U예방 대상,C열 이름,T유형 또는 함수 이름 또는R예약. 그만큼Catdesc열에는 국소화 될 수 있습니다
pg_get_constraintdef
,
pg_get_indexdef
, PG_GET_RULEDEF
및pg_get_triggerdef
, 각각을 재구성합니다pg_get_expr
pg_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_DATABASES
및pg_class카탈로그.
pg_describe_object
반환 apg_depend카탈로그.
pg_typeof
Regtype,섹션 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. 목록xmin및xmax;xmax. TXIDxmin <= txid |
TXID_SNAPSHOT의 텍스트 표현xmin:xmax:xip_list. 예를 들어10 : 20 : 10,14,15평균xmin = 10,.