| PostgreSQL 9.2.24 문서 | ||||
|---|---|---|---|---|
| 4300롤 토토100-100300 | 위로 | 제9장. 함수 및 연산자 | PostgreSQL : 문서 : 9.2 : 토토 사이트 추천 관리 토토 사이트 추천 | |
표 9-51세션과 시스템을 추출하는 여러 함수를 보여줍니다. 롤 토토.
이 섹션에 나열된 기능 외에도 다음이 있습니다. 통계 시스템과 관련된 다양한 기능 시스템 롤 토토를 제공합니다. 참조섹션 27.2.2더 많은 롤 토토를 원하시면.
표 9-51. 세션 롤 토토 기능
| 이름 | 반환 유형 | 설명 |
|---|---|---|
현재_카탈로그 |
이름 | 현재 데이터베이스 이름(호출됨"카탈로그"SQL 표준에서) |
현재_데이터베이스() |
이름 | 현재 데이터베이스 이름 |
현재_쿼리() |
텍스트 | 제출된 현재 실행 중인 쿼리의 텍스트 클라이언트에 의해(하나 이상 포함될 수 있음) 진술) |
현재_역할 |
이름 | 동등함현재_사용자 |
current_schema[()] |
이름 | 현재 스키마 이름 |
현재_스키마(부울) |
이름[] | 검색 경로의 스키마 이름, 선택적으로 포함 암시적 스키마 |
현재_사용자 |
이름 | 현재 실행 컨텍스트의 사용자 이름 |
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) |
부울 | 스키마는 다른 세션의 임시 스키마입니까? |
pg_listening_channels() |
텍스트 집합 | 세션이 현재 듣고 있는 채널 이름 에 |
pg_my_temp_schema() |
oid | 세션 임시 스키마의 OID, 또는 없으면 0 |
pg_postmaster_start_time() |
시간대가 포함된 타임스탬프 | 서버 시작 시간 |
pg_trigger_깊이() |
int | 현재 중첩 수준PostgreSQL트리거(그렇지 않은 경우 0 내부에서 직접 또는 간접적으로 호출됩니다. 트리거) |
session_user |
이름 | 세션 사용자 이름 |
사용자 |
이름 | 동등함현재_사용자 |
버전() |
텍스트 | PostgreSQL버전 롤 토토 |
참고:
현재_카탈로그,현재_역할,current_schema,현재_사용자,session_user및사용자특수 구문 상태를 가짐SQL: 호출해야 합니다. 후행 괄호 없이. (PostgreSQL에서는 괄호를 사용할 수 있습니다. 선택적으로 다음과 함께 사용됩니다.현재_스키마, 하지만 기타.)
그session_user일반적으로
현재 데이터베이스 연결을 시작한 사용자입니다. 하지만
슈퍼유저는 다음을 사용하여 이 설정을 변경할 수 있습니다.세션 설정
승인.현재_사용자권한에 적용할 수 있는 사용자 식별자입니다.
확인 중입니다. 일반적으로 세션 사용자와 동일하지만
다음으로 변경됨PostgreSQL : 문서 : 9.2 : 역할 토토 결과. 그것은 또한
속성이 있는 함수 실행 중 변경 사항보안 정의자. 유닉스 용어로는
세션 사용자는"실제 사용자"그리고
현재 사용자는"효과적
사용자". 현재_역할그리고사용자다음의 동의어입니다현재_사용자. (SQL 표준은
사이의 구별현재_역할그리고현재_사용자하지만포스트그레SQL그렇지 않습니다. 사용자를 통합하기 때문입니다.
역할을 단일 유형의 엔터티로 만듭니다.)
현재_스키마이름을 반환합니다.
검색 경로의 첫 번째 스키마(또는 null 값)
검색 경로가 비어 있는 경우). 이는 다음과 같은 스키마입니다.
생성된 테이블이나 기타 명명된 개체에 사용됩니다.
대상 스키마를 지정하지 않고.current_schemas(boolean)배열을 반환합니다.
현재 검색 경로에 있는 모든 스키마의 이름입니다. 는
부울 옵션은 암시적으로 포함되는지 여부를 결정합니다.
다음과 같은 시스템 스키마pg_catalog은
반환된 검색 경로에 포함됩니다.
참고:검색 경로는 런타임에 변경될 수 있습니다. 명령은 다음과 같습니다:
검색_경로를 다음으로 설정스키마 [, 스키마, ...]
pg_listening_channels반환
현재 세션이 청취 중인 채널 이름 세트
에. 참조토토 : 문서 : 9.2 : 듣기더 보기
롤 토토.
inet_client_addrIP를 반환합니다.
현재 클라이언트의 주소 및inet_client_port포트 번호를 반환합니다.inet_server_addrIP를 반환합니다.
서버가 현재 연결을 수락한 주소 및inet_server_port포트를 반환합니다.
번호. 현재 연결이 끊어진 경우 이 모든 함수는 NULL을 반환합니다.
Unix 도메인 소켓을 통해 이루어집니다.
pg_my_temp_schema반환
현재 세션 임시 스키마의 OID이거나, 있는 경우 0입니다.
없음(임시 테이블을 생성하지 않았기 때문).pg_is_other_temp_schema반환
주어진 OID가 다른 세션의 임시 OID이면 true
스키마. (예를 들어, 이는 다른 항목을 제외하는 데 유용할 수 있습니다.
카탈로그 표시의 세션 임시 테이블입니다.)
pg_postmaster_start_time반환시간대가 포함된 타임스탬프때
서버가 시작되었습니다.
pg_conf_load_time반환시간대가 포함된 타임스탬프서버가
구성 파일이 마지막으로 로드되었습니다. (현재 세션이
그 당시 살아 있으면 세션 자체가
구성 파일을 다시 읽으십시오. 그러면 읽는 내용이 달라질 수 있습니다.
다른 세션에서는 거의 없습니다. 그렇지 않으면 그 때가
postmaster 프로세스가 구성 파일을 다시 읽습니다.)
버전문자열을 반환합니다.
설명하는포스트그레SQL서버 버전.
표 9-52사용자가 객체 액세스를 쿼리할 수 있는 기능을 나열합니다. 프로그래밍 방식으로 권한을 부여합니다. 참조토토 베이 : 문서 : 9.2 : 권한권한에 대한 자세한 내용은.
표 9-52. 접근 권한 문의 기능
| 이름 | 반환 유형 | 설명 |
|---|---|---|
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_lang_privilege(사용자, 언어, 권한) |
부울 | 사용자에게 언어에 대한 권한이 있습니까 |
has_lang_privilege(언어, 권한) |
부울 | 현재 사용자는 언어에 대한 권한을 가지고 있습니까 |
has_schema_privilege(사용자, 스키마,
권한) |
부울 | 사용자에게 스키마에 대한 권한이 있습니까 |
has_schema_privilege(스키마, 특권) |
부울 | 현재 사용자에게 스키마에 대한 권한이 있습니까 |
has_sequence_privilege(사용자, 시퀀스, 권한) |
부울 | 사용자에게 시퀀스에 대한 권한이 있습니까 |
has_sequence_privilege(시퀀스, 권한) |
부울 | 현재 사용자에게 시퀀스에 대한 권한이 있습니까 |
has_server_privilege(사용자, 서버,
특권) |
부울 | 사용자에게 외부 서버에 대한 권한이 있습니까 |
has_server_privilege(서버, 권한) |
부울 | 현재 사용자는 외부에 대한 권한을 가지고 있습니까? 서버 |
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 의사 역할을 나타내거나 인수가 생략된 경우현재_사용자가정됩니다. 테이블
이름이나 OID로 지정할 수 있습니다. (따라서 실제로는 6개가 있습니다.
의 변형has_table_privilege,
개수와 종류로 구분할 수 있습니다.
인수.) 이름으로 지정할 때 이름은 다음과 같습니다.
필요한 경우 스키마 한정. 원하는 접근 권한 유형
다음 중 하나로 평가되어야 하는 텍스트 문자열로 지정됩니다.
값선택, 삽입, 업데이트,
삭제, 잘라내기, 참조또는트리거. 선택적으로,부여 옵션 있음권한 유형에 추가할 수 있습니다.
권한 부여 옵션으로 권한이 유지되는지 테스트합니다. 또한,
여러 권한 유형을 쉼표로 구분하여 나열할 수 있습니다.
어떤 경우에는 결과가 나올 것인가참if
나열된 특권 중 하나가 보유됩니다. (특권의 경우
문자열은 중요하지 않으며 추가 공백이 허용됩니다.
권한 이름 사이에는 있지만 권한 이름 안에는 없습니다.) 몇 가지 예:
SELECT has_table_privilege('myschema.mytable', 'select');
SELECT has_table_privilege('joe', 'mytable', 'INSERT, GRANT OPTION으로 선택');
has_sequence_privilege체크
사용자가 특정 방식으로 시퀀스에 액세스할 수 있는지 여부. 는
그 주장에 대한 가능성은 다음과 유사합니다.has_table_privilege. 원하는 액세스
권한 유형은 다음 중 하나로 평가되어야 합니다.사용, 선택, 또는업데이트.
has_any_column_privilege체크
사용자가 특정 테이블의 모든 열에 액세스할 수 있는지 여부
방법. 인수 가능성은 다음과 유사합니다.has_table_privilege, 원하는 경우를 제외하고
액세스 권한 유형은 다음의 조합으로 평가되어야 합니다.선택, 삽입,
업데이트또는참조. 다음 중 하나라도 있으면 참고하세요.
테이블 수준의 권한은 각 테이블에 대해 암시적으로 부여됩니다.
테이블의 열이므로has_any_column_privilege항상 반환됩니다참ifhas_table_privilege동일합니다
인수. 하지만has_any_column_privilege또한 성공합니다.
하나 이상의 권한에 대한 열 수준 권한 부여입니다.
열.
has_column_privilege체크
사용자가 특정 방식으로 열에 액세스할 수 있는지 여부. 그
인수 가능성은 다음과 유사합니다.has_table_privilege, 추가로
열은 이름이나 속성 번호로 지정할 수 있습니다. 는
원하는 액세스 권한 유형은 어떤 조합으로 평가되어야 합니다.
의선택, 삽입, 업데이트또는참조. 다음 중 하나라도 있으면
테이블 수준에서 이러한 권한은 각 테이블에 대해 암시적으로 부여됩니다.
테이블의 열입니다.
has_database_privilege체크
사용자가 특정 방식으로 데이터베이스에 액세스할 수 있는지 여부. 그
인수 가능성은 다음과 유사합니다.has_table_privilege. 원하는 액세스
권한 유형은 다음의 조합으로 평가되어야 합니다.생성, 연결,
임시또는온도(동등함임시).
has_function_privilege체크
사용자가 특정 방식으로 기능에 액세스할 수 있는지 여부. 그
인수 가능성은 다음과 유사합니다.has_table_privilege. 기능을 지정할 때
OID가 아닌 텍스트 문자열을 사용하는 경우 허용되는 입력은 다음과 같습니다.
와 동일regprocedure데이터 유형(참조PostgreSQL : 문서 : 9.2 : 객체 식별자 범퍼카 토토). 원하는 액세스
권한 유형은 다음과 같이 평가되어야 합니다.실행.
예는 다음과 같습니다:
SELECT has_function_privilege('joeuser', 'myfunc(int, text)', 'execute');
has_foreign_data_wrapper_privilege체크
사용자가 특정 위치에서 외부 데이터 래퍼에 액세스할 수 있는지 여부
방법. 인수 가능성은 다음과 유사합니다.has_table_privilege. 원하는 액세스
권한 유형은 다음과 같이 평가되어야 합니다.사용.
has_언어_권한체크
사용자가 특정 프로세스의 절차적 언어에 액세스할 수 있는지 여부
방법. 인수 가능성은 다음과 유사합니다.has_table_privilege. 원하는 액세스
권한 유형은 다음과 같이 평가되어야 합니다.사용.
has_schema_privilege체크
사용자가 특정 방식으로 스키마에 액세스할 수 있는지 여부. 그
인수 가능성은 다음과 유사합니다.has_table_privilege. 원하는 액세스
권한 유형은 다음의 조합으로 평가되어야 합니다.생성또는사용법.
has_server_privilege체크
사용자가 특정 방식으로 외부 서버에 액세스할 수 있는지 여부.
인수 가능성은 다음과 유사합니다.has_table_privilege. 원하는 액세스
권한 유형은 다음과 같이 평가되어야 합니다.사용.
has_tablespace_privilege체크
사용자가 특정 방식으로 테이블스페이스에 액세스할 수 있는지 여부. 그
인수 가능성은 다음과 유사합니다.has_table_privilege. 원하는 액세스
권한 유형은 다음과 같이 평가되어야 합니다.생성.
has_type_privilege체크
사용자가 특정 방식으로 유형에 액세스할 수 있는지 여부. 그
인수 가능성은 다음과 유사합니다.has_table_privilege. 유형을 지정할 때
OID가 아닌 텍스트 문자열인 경우 허용되는 입력은 동일합니다.
에 관해서는regtype데이터 유형(참조섹션 8.18). 원하는 액세스
권한 유형은 다음과 같이 평가되어야 합니다.사용법.
pg_has_role다음 여부를 확인합니다.
사용자는 특정 방식으로 역할에 액세스할 수 있습니다. 그 주장
가능성은 다음과 유사합니다has_table_privilege, 그 외에는공개은(는) 사용자 이름으로 허용되지 않습니다. 원하는
액세스 권한 유형은 다음의 조합으로 평가되어야 합니다.회원또는사용. 회원표시
역할에 대한 직간접적인 구성원 자격(즉,
하다역할 설정), 반면사용법역할의 권한 여부를 나타냅니다.
하지 않고 바로 사용 가능SET
역할.
표 9-53특정 개체가 다음과 같은지 여부를 결정하는 함수를 보여줍니다.표시현재 스키마 검색에서 경로. 예를 들어, 테이블이 다음과 같은 경우에 표시된다고 합니다. 포함된 스키마가 검색 경로에 있고 동일한 테이블이 없습니다. 이름은 검색 경로의 앞부분에 나타납니다. 이는 다음과 같습니다. 테이블을 이름 없이 참조할 수 있다는 명령문 명시적인 스키마 한정. 보이는 모든 이름을 나열하려면 테이블:
pg_class WHERE pg_table_is_visible(oid)에서 relname 선택;
표 9-53. 스키마 가시성 조회 기능
| 이름 | 반환 유형 | 설명 |
|---|---|---|
pg_collation_is_visible(collation_oid) |
부울 | 검색 경로에 데이터 정렬이 표시됩니다. |
pg_conversion_is_visible(conversion_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, regprocedure, regoperator, regconfig, 또는regdictionary), 예:
SELECT pg_type_is_visible('myschema.widget'::regtype);
다음을 테스트하는 것은 별 의미가 없다는 점에 유의하십시오. 이런 방식으로 비스키마 한정 유형 이름 — 이름이 다음과 같을 수 있는 경우 전혀 인식되지 않으면 표시되어야 합니다.
표 9-54시스템에서 롤 토토를 추출하는 기능을 나열합니다. 카탈로그.
표 9-54. 시스템 카탈로그 롤 토토 기능
| 이름 | 반환 유형 | 설명 |
|---|---|---|
형식_유형(type_oid, 유형모드) |
텍스트 | 데이터 유형의 SQL 이름 가져오기 |
pg_describe_object(catalog_id, 객체_ID, object_sub_id) |
텍스트 | 데이터베이스 개체에 대한 설명 가져오기 |
pg_get_constraintdef(constraint_oid) |
텍스트 | 제약조건 정의 가져오기 |
pg_get_constraintdef(constraint_oid, pretty_bool) |
텍스트 | 제약조건 정의 가져오기 |
pg_get_expr(pg_node_tree, relation_oid) |
텍스트 | 다음을 가정하여 표현식의 내부 형식을 디컴파일합니다. 그 안에 있는 모든 Var는 다음과 같이 표시된 관계를 참조합니다. 두 번째 매개변수 |
pg_get_expr(pg_node_tree, relation_oid, pretty_bool) |
텍스트 | 다음을 가정하여 표현식의 내부 형식을 디컴파일합니다. 그 안에 있는 모든 Var는 다음과 같이 표시된 관계를 참조합니다. 두 번째 매개변수 |
pg_get_functiondef(func_oid) |
텍스트 | 함수 정의 얻기 |
pg_get_function_arguments(func_oid) |
텍스트 | 함수 정의의 인수 목록 가져오기( 기본값) |
pg_get_function_identity_arguments(func_oid) |
텍스트 | 함수를 식별하기 위한 인수 목록 가져오기(없음 기본값) |
pg_get_function_result(func_oid) |
텍스트 | 얻기반품절 롤 토토 |
pg_get_indexdef(index_oid) |
텍스트 | 얻기색인 생성명령어 색인 |
pg_get_indexdef(index_oid, column_no, pretty_bool) |
텍스트 | 얻기색인 생성명령어 인덱스 또는 단 하나의 인덱스 열 정의column_no0이 아닙니다 |
pg_get_keywords() |
레코드 집합 | SQL 키워드 및 해당 카테고리 목록 가져오기 |
pg_get_ruledef(rule_oid) |
텍스트 | 얻기규칙 생성명령 규칙 |
pg_get_ruledef(rule_oid, pretty_bool) |
텍스트 | 얻기규칙 생성명령 규칙 |
pg_get_serial_sequence(테이블_이름, 열_이름) |
텍스트 | a 시퀀스의 이름을 얻습니다.연재, smallserial또는큰 직렬열 사용 |
pg_get_triggerdef(trigger_oid) |
텍스트 | 얻기생성 [ 제약 ] 트리거트리거 명령 |
pg_get_triggerdef(trigger_oid, pretty_bool) |
텍스트 | 얻기생성 [ 제약 ] 트리거트리거 명령 |
pg_get_userbyid(role_oid) |
이름 | 주어진 OID를 가진 역할 이름 가져오기 |
pg_get_viewdef(view_name) |
텍스트 | 기본 가져오기선택보기 명령(지원 중단됨) |
pg_get_viewdef(view_name, pretty_bool) |
텍스트 | 기본 가져오기선택보기 명령; 필드가 있는 줄은 80으로 래핑됩니다. 열인 경우pretty_bool사실입니다 (지원 중단됨) |
pg_get_viewdef(view_oid) |
텍스트 | 기본 가져오기선택보기 명령 |
pg_get_viewdef(view_oid, pretty_bool) |
텍스트 | 기본 가져오기선택보기 명령; 필드가 있는 줄은 80으로 래핑됩니다. 열인 경우pretty_bool이다 사실 |
pg_get_viewdef(view_oid, wrap_column_int) |
텍스트 | 기본 가져오기선택보기 명령; 필드가 있는 줄은 다음과 같이 래핑됩니다. 지정된 수의 열, 예쁜 인쇄는 묵시적 |
pg_options_to_table(reloptions) |
레코드 세트 | 저장소 옵션 이름/값 쌍 세트 가져오기 |
pg_tablespace_databases(tablespace_oid) |
oid 세트 | 객체가 있는 데이터베이스 OID 세트를 가져옵니다. 테이블스페이스 |
pg_tablespace_location(tablespace_oid) |
텍스트 | 이 테이블스페이스가 있는 파일 시스템의 경로를 가져옵니다. 위치는 |
pg_typeof(아무거나) |
regtype | 모든 값의 데이터 유형 가져오기 |
조합
(에 대해모든) |
텍스트 | 인수의 대조 가져오기 |
형식_유형SQL 이름을 반환합니다.
OID 유형으로 식별되는 데이터 유형
유형 수정자. 특정 항목이 없으면 유형 수정자에 대해 NULL을 전달합니다.
수식어가 알려져 있습니다.
pg_get_keywords다음 세트를 반환합니다.
서버가 인식하는 SQL 키워드를 설명하는 레코드입니다.단어열에 키워드가 포함되어 있습니다.캣코드열에 다음이 포함되어 있습니다.
카테고리 코드:U예약되지 않은 경우,C열 이름의 경우,T유형 또는 함수 이름의 경우, 또는R예약용.catdesc열에 현지화되었을 가능성이 있는 내용이 포함되어 있습니다.
카테고리를 설명하는 문자열입니다.
pg_get_constraintdef,
pg_get_indexdef, pg_get_ruledef및pg_get_triggerdef, 각각 재구성
제약 조건, 인덱스, 규칙 또는 트리거에 대한 명령을 생성합니다. (참고
이것은 원본 텍스트가 아닌 디컴파일된 재구성입니다.
명령의.)pg_get_expr다음과 같은 개별 표현식의 내부 형식을 디컴파일합니다.
열의 기본값입니다. 검사할 때 유용할 수 있습니다.
시스템 카탈로그의 내용. 표현식에 다음이 포함될 수 있는 경우
Vars는 두 번째로 참조하는 관계의 OID를 지정합니다.
매개변수; Var가 예상되지 않으면 0이면 충분합니다.pg_get_viewdef재구성선택뷰를 정의하는 쿼리입니다. 대부분
이러한 기능 중 하나는 두 가지 변형으로 제공됩니다.
선택적으로"예쁜 인쇄"결과입니다.
예쁘게 인쇄된 형식이 더 읽기 쉽지만 기본값은
형식은 미래에도 같은 방식으로 해석될 가능성이 더 높습니다.
버전PostgreSQL; 피하다
덤프 목적으로 예쁘게 인쇄된 출력을 사용합니다. 합격거짓pretty-print 매개변수의 경우
매개변수가 없는 변형과 동일한 결과
모두.
pg_get_functiondef반환
완료함수 생성 또는 교체함수에 대한 설명입니다.pg_get_function_arguments인수를 반환합니다.
함수 목록(내부에 표시되어야 하는 형식)함수 생성. pg_get_function_result비슷하게 다음을 반환합니다.
적절한반품절
롤 토토.pg_get_function_identity_arguments반환
함수를 식별하는 데 필요한 인수 목록(다음 형식)
내에 표시되어야 합니다.변경
롤 토토59327_59376
pg_get_serial_sequence반환
열과 연관된 시퀀스의 이름, 또는 없으면 NULL
시퀀스는 열과 연관되어 있습니다. 첫 번째 입력 매개변수
선택적 스키마가 있는 테이블 이름이고 두 번째 매개변수는 다음과 같습니다.
열 이름. 첫 번째 매개변수는 잠재적으로
스키마 및 테이블은 큰따옴표로 처리되지 않습니다.
식별자는 기본적으로 소문자임을 의미합니다.
열 이름인 두 번째 매개변수는 다음과 같이 처리됩니다.
큰따옴표로 묶였으며 대소문자는 그대로 유지됩니다. 이 함수는
시퀀스 함수에 전달하기에 적합한 형식의 값(참조PostgreSQL : 문서 : 9.2 : 사설 토토 사이트 조작 함수). 이
연결은 다음을 사용하여 수정하거나 제거할 수 있습니다.다음 소유자가 시퀀스 변경. (아마도 그 롤 토토은
호출했어야 했어요pg_get_owned_sequence; 현재 이름
일반적으로 다음과 함께 사용된다는 사실을 반영합니다.연재또는큰 직렬열.)
pg_get_userbyid추출
OID가 부여된 역할 이름입니다.
pg_options_to_table반환
저장소 옵션 이름/값 쌍 집합(옵션_이름/옵션_값)
통과했을 때pg_class.reloptions또는pg_attribute.attoptions.
pg_tablespace_databases허용합니다
검사할 테이블스페이스입니다. 다음의 OID 세트를 반환합니다.
테이블스페이스에 객체가 저장된 데이터베이스. 만약 이
함수는 모든 행을 반환하지만 테이블스페이스는 비어 있지 않으며 사용할 수 없습니다.
떨어집니다. 해당 개체를 채우는 특정 개체를 표시하려면
테이블스페이스를 사용하려면 식별된 데이터베이스에 연결해야 합니다.
으로pg_tablespace_databases그리고
쿼리해 보세요pg_class카탈로그.
pg_describe_object반환
카탈로그 OID로 지정된 데이터베이스 개체에 대한 설명, 개체
OID 및 (0일 수도 있음) 하위 개체 ID입니다. 이는 다음에 유용합니다.
에 저장된 객체의 신원을 확인합니다.pg_dependent카탈로그.
pg_typeofOID를 반환합니다.
전달되는 값의 데이터 유형입니다. 이것은 도움이 될 수 있습니다
문제를 해결하거나 SQL 쿼리를 동적으로 구성하는 데 사용됩니다. 는
함수가 반환으로 선언되었습니다.regtype,
이는 OID 별칭 유형입니다(참조섹션 8.18); 이것은 그것이라는 것을 의미합니다
비교 목적으로 OID와 동일하지만 유형으로 표시됩니다.
이름. 예를 들면:
SELECT pg_typeof(33);
pg_typeof
-----------
정수
(1줄)
pg_type WHERE에서 typlen 선택 oid = pg_typeof(33);
타이플렌
--------
4
(1행)
표현식에 대한 대조반환 전달된 값의 조합입니다. 예:
(설명) FROM pg_description LIMIT 1에 대한 데이터 정렬 선택;
pg_collation_for
------------------
"기본값"
(1줄)
('foo' COLLATE "de_DE")에 대한 SELECT 데이터 정렬;
pg_collation_for
------------------
"de_DE"
(1행)
값은 인용되고 스키마로 한정될 수 있습니다. 그렇지 않은 경우 인수 표현식에 대해 데이터 정렬이 파생된 다음 null이 반환됩니다. 값이 반환됩니다. 인수가 조합 가능한 데이터가 아닌 경우 입력하면 오류가 발생합니다.
다음에 표시된 기능표 9-55이전에 저장된 주석을 추출합니다.댓글명령. null 값이 반환됩니다. 지정된 매개변수에 대한 설명을 찾을 수 없는 경우.
표 9-55. 댓글 롤 토토 기능
| 이름 | 반환 유형 | 설명 |
|---|---|---|
col_description(table_oid, 열_번호) |
텍스트 | 테이블 열에 대한 설명 가져오기 |
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인 테이블에 대한 설명입니다. 단일 매개변수 형식
의obj_description만 필요합니다.
객체 OID. 보장되지 않으므로 더 이상 사용되지 않습니다.
OID는 다양한 시스템 카탈로그에서 고유합니다. 그러므로,
잘못된 댓글이 반환될 수 있습니다.
shobj_description그냥 사용됩니다
좋아요obj_description단, 그렇지는 않습니다
공유 개체에 대한 설명을 검색하는 데 사용됩니다. 일부 시스템
카탈로그는 각 클러스터 내의 모든 데이터베이스에 전역적이며
그 안의 객체에 대한 설명도 전역적으로 저장됩니다.
다음에 표시된 기능표 9-56내보낼 수 있는 형식으로 서버 트랜잭션 롤 토토를 제공합니다. 는 이 기능의 주요 용도는 어떤 거래를 결정하는 것입니다. 두 스냅샷 사이에 커밋되었습니다.
표 9-56. 거래 ID 및 스냅샷
| 이름 | 반환 유형 | 설명 |
|---|---|---|
txid_current() |
비긴트 | 현재 거래 ID 가져오기 |
txid_current_snapshot() |
txid_snapshot | 현재 스냅샷 가져오기 |
txid_snapshot_xip(txid_snapshot) |
setof bigint | 스냅샷에서 진행 중인 트랜잭션 ID 가져오기 |
txid_snapshot_xmax(txid_snapshot) |
비긴트 | 얻기x최대스냅샷 |
txid_snapshot_xmin(txid_snapshot) |
비긴트 | 얻기xmin스냅샷 |
txid_visible_in_snapshot(비긴트, txid_snapshot) |
부울 | 트랜잭션 ID가 스냅샷에 표시됩니까? (사용하지 마세요 하위 거래 ID 포함) |
내부 거래 ID 유형(xid) 폭은 32비트이며 매 40억 건의 트랜잭션을 둘러쌉니다. 그러나 이러한 함수는 확장된 64비트 형식을 내보냅니다. 와 함께"시대"카운터이므로 그렇지 않습니다. 설치 수명 동안 랩 어라운드. 데이터 유형 이 함수에서 사용됩니다.txid_snapshot, 트랜잭션 ID 가시성에 대한 롤 토토를 저장합니다. 특정 순간. 그 구성요소는 다음에서 설명됩니다.테이블 9-57.
표 9-57. 스냅샷 구성요소
| 이름 | 설명 |
|---|---|
| xmin | 아직 활성 상태인 가장 빠른 트랜잭션 ID(txid)입니다. 모든 이전 트랜잭션은 커밋되고 표시되거나 롤백되어 종료되었습니다. |
| x최대 | 아직 할당되지 않은 첫 번째 txid입니다. 다음보다 큰 모든 txid 또는 이와 동등한 항목은 현재 시점에 아직 시작되지 않았습니다. 스냅샷이므로 보이지 않습니다. |
| xip_list | 스냅샷 당시 활성 txid. 목록 사이의 활성 txid만 포함합니다.xmin그리고x최대; 다음보다 높은 활성 txid가 있을 수 있습니다.x최대. txid는xmin <= txid < xmax여기에는 없어 목록은 스냅샷 시점에 이미 완료되었습니다. 따라서 커밋에 따라 표시되거나 종료됩니다. 상태. 목록에는 다음의 txid가 포함되지 않습니다. 하위 거래. |
txid_snapshot의 텍스트 표현 이다xmin:x최대:xip_list. 예를 들어10:20:10,14,15의미xmin=10, xmax=20, xip_list=10, 14, 15.