| PostgreSQL 9.3.25 문서 | ||||
|---|---|---|---|---|
| 4300범퍼카 토토100-100300 | PostgreSQL : 문서 : 9.3 : 토토 사이트 추천 및 연산자 | 9장. 윈 토토 및 운영자 | PostgreSQL : 문서 : 9.3 : 메이저 토토 사이트 관리 메이저 토토 사이트 | |
테이블 9-52세션과 시스템을 추출하는 여러 함수를 보여줍니다. 윈 토토.
이 섹션에 나열된 기능 외에도 다음이 있습니다. 통계 시스템과 관련된 기능의 수 시스템 윈 토토를 제공합니다. 참조섹션 27.2.2더 많은 윈 토토를 원하시면.
표 9-52. 세션 윈 토토 기능
| 이름 | 반환 유형 | 설명 |
|---|---|---|
현재_카탈로그 |
이름 | 현재 데이터베이스 이름(호칭"카탈로그"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에서는 선택적으로 괄호를 사용할 수 있습니다. 와 함께 사용됨current_schema, 하지만 그렇지 않음 다른 사람들과 함께.)
그session_user일반적으로
현재 데이터베이스 연결을 시작한 사용자입니다. 하지만 슈퍼유저는
다음을 사용하여 이 설정을 변경할 수 있습니다.세션 승인 설정.현재_사용자사용자입니다
권한 확인에 적용할 수 있는 식별자입니다. 일반적으로 그것은
세션 사용자와 동일하지만 다음으로 변경할 수 있습니다.역할 설정. 기간 중에도 변경됩니다.
속성을 사용하여 함수 실행보안 정의자. 유닉스 용어로 세션 사용자는
는"실제 사용자"및 현재 사용자
는"유효 사용자". 현재_역할그리고사용자은의 동의어입니다.현재_사용자. (SQL 표준은
사이의 구별현재_역할그리고현재_사용자하지만PostgreSQL그렇지 않습니다. 사용자를 통합하기 때문입니다.
역할을 단일 유형의 엔터티로 만듭니다.)
현재_스키마이름을 반환합니다.
검색 경로의 첫 번째 스키마(또는
검색 경로가 비어 있습니다). 이는 모든 작업에 사용되는 스키마입니다.
지정하지 않고 생성된 테이블 또는 기타 명명된 개체
대상 스키마.current_schemas(부울)다음의 배열을 반환합니다.
현재 검색 경로에 있는 모든 스키마의 이름입니다. 부울
옵션은 시스템 스키마를 암시적으로 포함할지 여부를 결정합니다.
같은pg_catalog다음에 포함되어 있습니다.
검색 경로를 반환했습니다.
참고:검색 경로는 런타임에 변경될 수 있습니다. 는 명령은 다음과 같습니다:
검색_경로를 다음으로 설정스키마 [, 스키마, ...]
pg_listening_channels반환
현재 세션이 듣고 있는 채널의 이름 집합입니다.
참조PostgreSQL : 문서 : 9.3 : 메이저 토토 사이트더 많은 윈 토토를 원하시면.
inet_client_addrIP를 반환합니다.
현재 클라이언트의 주소 및inet_client_port포트 번호를 반환합니다.inet_server_addrIP를 반환합니다.
서버가 현재 연결을 수락한 주소 및inet_server_port포트를 반환합니다.
번호. 현재 연결이 끊어진 경우 이 모든 함수는 NULL을 반환합니다.
Unix 도메인 소켓을 통해 이루어집니다.
pg_my_temp_schemaOID를 반환합니다.
현재 세션의 임시 스키마 또는 스키마가 없는 경우 0
(임시 테이블을 생성하지 않았기 때문입니다.)pg_is_other_temp_schema주어진 경우 true를 반환합니다.
OID는 다른 세션의 임시 스키마 OID입니다. (이것은
예를 들어 다른 세션의 임시 테이블을 제외하는 데 유용합니다.
카탈로그 디스플레이에서.)
pg_postmaster_start_time반환시간대가 포함된 타임스탬프서버가
시작했습니다.
pg_conf_load_time반환시간대가 포함된 타임스탬프서버가
구성 파일이 마지막으로 로드되었습니다. (현재 세션이
그 당시 살아 있으면 세션 자체가
구성 파일을 다시 읽으십시오. 그러면 읽는 내용이 약간 다를 것입니다.
다른 세션에서. 그렇지 않으면 우체국장이
프로세스가 구성 파일을 다시 읽습니다.)
버전문자열을 반환합니다.
설명하는PostgreSQL서버의
버전.
테이블 9-53사용자가 객체 액세스를 쿼리할 수 있는 함수를 나열합니다. 프로그래밍 방식으로 권한을 부여합니다. 참조토토 사이트 : 문서 : 9.3 : 권한권한에 대한 자세한 내용은.
표 9-53. 접근 권한 조회 윈 토토
| 이름 | 반환 유형 | 설명 |
|---|---|---|
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_언어_권한(언어, 권한) |
부울 | 현재 사용자는 언어에 대한 권한을 가지고 있습니까 |
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, 이는 다음과 같습니다.
인수의 수와 유형으로 구별됩니다.)
이름으로 지정하면 필요한 경우 이름을 스키마로 한정할 수 있습니다.
원하는 접근 권한 유형은 텍스트 문자열로 지정됩니다.
값 중 하나로 평가되어야 합니다.선택, 삽입, 업데이트, 삭제, 잘라내기, 참조, 또는트리거. 선택적으로,부여 옵션 포함권한 유형에 추가할 수 있습니다.
권한 부여 옵션으로 권한이 유지되는지 테스트합니다. 또한,
여러 권한 유형을 쉼표로 구분하여 나열할 수 있습니다.
어떤 경우에는 결과가 나올 것인가참있는 경우
나열된 권한 중 하나가 보유됩니다. (권한 문자열의 경우는
중요하지 않으며 사이에 추가 공백이 허용되지만 그렇지 않습니다.
권한 이름 내에서.) 몇 가지 예:
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.3 : 객체 식별자 토토 캔). 원하는 액세스
권한 유형은 다음과 같이 평가되어야 합니다.실행.
예는 다음과 같습니다:
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-54특정 개체가 다음과 같은지 여부를 결정하는 함수를 보여줍니다.표시현재 스키마 검색 경로에 있습니다. 예를 들어, 테이블에 스키마가 포함되어 있으면 테이블이 표시된다고 합니다. 검색 경로에 있고 이전에 같은 이름의 테이블이 나타나지 않았습니다. 검색 경로에서. 이는 다음과 같은 진술과 동일하다. 명시적인 스키마 없이 이름으로 테이블을 참조할 수 있음 자격. 표시되는 모든 테이블의 이름을 나열하려면 다음을 수행하세요.
pg_class WHERE pg_table_is_visible(oid)에서 relname 선택;
표 9-54. 스키마 가시성 조회 기능
| 이름 | 반환 유형 | 설명 |
|---|---|---|
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-55시스템에서 윈 토토를 추출하는 함수를 나열합니다. 카탈로그.
표 9-55. 시스템 카탈로그 윈 토토 기능
| 이름 | 반환 유형 | 설명 |
|---|---|---|
형식_유형(type_oid,
유형모드) |
텍스트 | 데이터 유형의 SQL 이름 가져오기 |
pg_describe_object(catalog_id, 객체_ID,
object_sub_id) |
텍스트 | 데이터베이스 개체에 대한 설명 가져오기 |
pg_identify_object(catalog_id
oid, 객체_ID
oid, object_sub_id
정수) |
유형 텍스트, 스키마 텍스트, 이름 텍스트, 정체성 텍스트 | 데이터베이스 개체의 ID 가져오기 |
pg_get_constraintdef(constraint_oid) |
텍스트 | 제약조건 정의 가져오기 |
pg_get_constraintdef(constraint_oid, 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) |
텍스트 | 얻기반품함수에 대한 절 |
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) |
텍스트 | 기본 가져오기선택보기 명령 또는 구체화된 뷰(지원 중단됨) |
pg_get_viewdef(view_oid) |
텍스트 | 기본 가져오기선택보기 명령 또는 구체화된 뷰 |
pg_get_viewdef(view_oid,
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디컴파일
기본값과 같은 개별 표현식의 내부 형식
열의 값입니다. 내용을 살펴볼 때 유용할 수 있습니다.
시스템 카탈로그. 표현식에 Var가 포함될 수 있는 경우 다음을 지정하십시오.
두 번째 매개변수로 참조되는 관계의 OID입니다. 그렇지 않다면
Vars가 예상되며 0이면 충분합니다.pg_get_viewdef재구성선택뷰를 정의하는 쿼리입니다. 이들 중 대부분은
함수에는 두 가지 변형이 있으며 그 중 하나는 선택적으로 가능합니다."예쁜 인쇄"결과입니다. 는
예쁘게 인쇄된 형식이 더 읽기 쉽지만 기본 형식은 다음과 같습니다.
향후 버전에서도 같은 방식으로 해석될 가능성이 더 높습니다.PostgreSQL; 사용을 피하세요
덤프 목적으로 예쁘게 인쇄된 출력물입니다. 합격거짓pretty-print 매개변수에 대한 결과는 동일합니다.
매개변수가 전혀 없는 변형이 됩니다.
pg_get_functiondef반환
완료함수 생성 또는 교체함수에 대한 설명입니다.pg_get_function_arguments인수를 반환합니다.
함수 목록(내부에 표시되어야 하는 형식)함수 생성. pg_get_function_result비슷하게 다음을 반환합니다.
적절한반품절
윈 토토.pg_get_function_identity_arguments반환
함수를 식별하는 데 필요한 인수 목록(다음 형식)
내에 표시되어야 합니다.변경
윈 토토51632_51681
pg_get_serial_sequence반환
열과 연관된 시퀀스의 이름 또는 없으면 NULL
시퀀스는 열과 연관되어 있습니다. 첫 번째 입력 매개변수
선택적 스키마가 있는 테이블 이름이고 두 번째 매개변수는
열 이름. 첫 번째 매개변수는 잠재적으로 스키마이기 때문에
및 테이블은 큰따옴표로 묶인 식별자로 처리되지 않습니다.
기본적으로 소문자이고 두 번째 매개변수는
열 이름만 큰따옴표로 처리되며 대소문자가 있습니다.
보존. 이 함수는 다음에 적합한 형식의 값을 반환합니다.
시퀀스 함수로 전달(참조섹션 9.16). 이 협회는 수
다음을 사용하여 수정하거나 제거할 수 있습니다.순서 변경
소유자. (함수는 아마도 호출되었을 것입니다.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_identify_object행을 반환합니다.
데이터베이스를 고유하게 식별하기에 충분한 윈 토토가 포함되어 있습니다.
카탈로그 OID, 객체 OID 및 a(0일 수도 있음)로 지정된 객체
하위 개체 ID입니다. 이 윈 토토는 기계가 읽을 수 있도록 만들어졌습니다.
번역되지 않았습니다.유형식별합니다
데이터베이스 객체의 유형;스키마이다
객체가 속한 스키마 이름 또는NULL스키마에 속하지 않는 객체 유형의 경우;이름인용된 개체의 이름입니다.
필요한 경우 사용할 수 있는 경우에만 존재합니다(스키마와 함께).
해당하는 경우 이름)을 개체의 고유 식별자로 사용하고, 그렇지 않은 경우NULL; 정체성는 완전한 개체 ID이며 정확한 형식은 다음과 같습니다.
개체 유형에 따라 형식 내의 각 부분이
스키마 자격을 갖추고 필요에 따라 인용됩니다.
pg_typeofOID를 반환합니다.
전달되는 값의 데이터 유형입니다. 이것은 도움이 될 수 있습니다
문제를 해결하거나 SQL 쿼리를 동적으로 구성하는 데 사용됩니다. 는
함수가 반환으로 선언되었습니다.regtype,
이는 OID 별칭 유형입니다(참조PostgreSQL : 문서 : 9.3 : 객체 식별자 토토 캔); 이는 비교를 위한 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행)
값은 인용되고 스키마로 한정될 수 있습니다. 대조가 없는 경우 인수 표현식에 대해 파생된 경우 널값은 다음과 같습니다. 돌아왔다. 인수가 조합 가능한 데이터 유형이 아닌 경우 오류가 발생합니다.
다음에 표시된 기능표 9-56이전에 저장된 주석을 추출합니다.댓글명령. 다음과 같은 경우 null 값이 반환됩니다. 지정된 매개변수에 대한 설명을 찾을 수 없습니다.
표 9-56. 댓글 윈 토토 기능
| 이름 | 반환 유형 | 설명 |
|---|---|---|
col_description(table_oid,
열_번호) |
텍스트 | 테이블 열에 대한 설명 가져오기 |
obj_description(object_oid,
카탈로그_이름) |
텍스트 | 데이터베이스 개체에 대한 의견 가져오기 |
obj_description(object_oid) |
텍스트 | 데이터베이스 개체에 대한 주석 가져오기(지원 중단됨) |
shobj_description(object_oid,
카탈로그_이름) |
텍스트 | 공유 데이터베이스 개체에 대한 의견 가져오기 |
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-57내보낼 수 있는 형식으로 서버 트랜잭션 윈 토토를 제공합니다. 는 이 기능의 주요 용도는 어떤 거래가 이루어졌는지 확인하는 것입니다. 두 스냅샷 사이에 커밋되었습니다.
표 9-57. 거래 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-58.
표 9-58. 스냅샷 구성요소
| 이름 | 설명 |
|---|---|
| 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.
| 이전 | 배트맨 토토 : 문서 : 9.3 : 배트맨 토토 9.3.25 문서화 | 다음 |
| 복귀 설정 윈 토토 | 위로 | 윈 토토 관리 기능 |