이 문서는 지원되지 않는 버전의 PostgreSQL을위한 것입니다.
당신은에 대한 같은 페이지를 보려고 할 수 있습니다PostgreSQL : 문서 : 17 : 9.28. 시스템 관리 스포츠 메이저 토토 사이트 사이트버전 또는 위에 나열된 다른 지원되는 버전 중 하나입니다.

9.26. 시스템 관리 기능

이 섹션에 설명 된 메이저 토토 사이트은 제어 및 모니터 APostgreSQL설치.

9.26.1. 구성 설정 기능

테이블 9-59쿼리 및 변경 런타임에 사용할 수있는 메이저 토토 사이트을 표시합니다 구성 매개 변수.

표 9-59. 구성 설정 메이저 토토 사이트

이름 반환 유형 설명
current_setting (setting_name) 텍스트 설정의 현재 값 가져 오기
set_config (setting_name, new_value, is_local) 텍스트 매개 변수 설정 및 새 값을 반환

함수current_setting설정의 현재 값을 생성setting_name. 그것은에 해당합니다.SQL명령show. 예 :

select current_setting ( 'datestyle');

 current_setting
------------------
 ISO, MDY
(1 행)

set_config매개 변수 설정setting_nametonew_value. 만약에is_localistrue, 새 값은 적용됩니다 현재 거래. 새로운 가치를 신청하려면 현재 세션, 사용거짓대신. 그만큼 함수는 SQL 명령에 해당합니다SET. 예 :

set_config ( 'log_statement_stats', 'off', false);

 set_config
------------
 끄다
(1 행)

9.26.2. 서버 신호 기능

표 9-60다른 서버 프로세스로 제어 신호를 전송합니다. 이것들의 사용 함수는 일반적으로 슈퍼 사용자로 제한되며 언급됩니다 예외.

표 9-60. 서버 신호 기능

이름 반환 유형 설명
pg_cancel_backend (PID int) 부울 백엔드의 현재 쿼리를 취소합니다. 당신은 이것에 대해 이것을 실행할 수 있습니다 사용자 통화와 정확히 같은 역할을하는 또 다른 백엔드 메이저 토토 사이트. 다른 모든 경우에, 당신은 수퍼 유저가되어야합니다.
pg_reload_conf () 부울 서버 프로세스가 구성 파일을 다시로드하도록 원인
pg_rotate_logfile () 부울 서버의 로그 파일 회전
pg_terminate_backend (PID int) 부울 백엔드 종료. 당신은 이것을 다른 것에 대해 실행할 수 있습니다 사용자가 메이저 토토 사이트. 다른 모든 경우에, 당신은 수퍼 유저가되어야합니다.

이러한 각 함수가 반환trueIF 성공 및거짓그렇지 않으면.

pg_cancel_backendandpg_terminate_backend신호 보내기 (Sigint또는Sigterm각각) 백엔드 프로세스 프로세스 ID로 식별. 활성 백엔드의 프로세스 ID는 할 수 있습니다 에서 찾을 수 있습니다.PID열의 열pg_stat_activity보기 또는 목록에 의해 그만큼Postgres서버의 프로세스 (사용PSon Unix 또는작업 관리자onWindows). 활성 백엔드의 역할은 가능합니다 에서 발견usename열의 열pg_stat_activityView.

pg_reload_confa 보내기Sighup서버에 대한 신호, 모든 서버에서 구성 파일을 다시로드하게합니다 프로세스.

pg_rotate_logfile신호 로그 파일 관리자는 즉시 새 출력 파일로 전환합니다. 이것 내장 로그 수집기가 실행 중일 때만 작동합니다. 그렇지 않으면 로그 파일 관리자 하위 프로세스가 없습니다.

9.26.3. 백업 제어 기능

에 표시된 메이저 토토 사이트표 9-61온라인 백업을 지원합니다. 이러한 메이저 토토 사이트은 될 수 없습니다 회복 중에 실행 (pg_is_in_backup, pg_backup_start_timeandpg_xlog_location_diff).

표 9-61. 백업 제어 기능

이름 반환 유형 설명
pg_create_restore_point (이름 텍스트) 텍스트 복원을 수행하기위한 지명 지점을 만듭니다 (제한 슈퍼업자)
pg_current_xlog_insert_location () 텍스트 현재 트랜잭션 가져 오기 로그 삽입 위치
pg_current_xlog_location () 텍스트 현재 트랜잭션 로그 쓰기 위치
pg_start_backup (레이블 텍스트[, 빠른 부울]) 텍스트 온라인 백업을 준비합니다 (슈퍼 서서로 제한 또는 복제 역할)
pg_stop_backup () 텍스트 온라인 백업 수행을 완료합니다 (수퍼 유저 또는로 제한 복제 역할)
pg_is_in_backup () bool 온라인 독점 백업이 아직 진행중인 경우 True.
pg_backup_start_time () 시간대가있는 타임 스탬프 온라인 독점 백업의 시작 시간을 얻으십시오.
pg_switch_xlog () 텍스트 새로운 트랜잭션 로그 파일로 전환 슈퍼업자)
pg_xlogfile_name (위치 텍스트) 텍스트 트랜잭션 로그 위치를 파일 이름으로 변환
pg_xlogfile_name_offset (위치 텍스트) 텍스트, Integer 트랜잭션 로그 위치 문자열을 파일 이름으로 변환합니다 파일 내 소수점 바이트 오프셋
pg_xlog_location_diff (위치 텍스트, 위치 텍스트) 숫자 두 트랜잭션 로그의 차이를 계산합니다 위치

PG_START_BACKUP수락 백업을위한 임의의 사용자 정의 레이블. (일반적으로 이것은 할 것입니다 백업 덤프 파일이 저장 될 이름입니다.) 함수는 백업 레이블 파일을 씁니다 (backup_label) 데이터베이스 클러스터의 데이터로 디렉토리는 체크 포인트를 수행 한 다음 백업을 반환합니다 트랜잭션 시작 로그 위치를 텍스트로 시작합니다. 사용자는 이것을 무시할 수 있습니다 결과 값이지만 유용한 경우에 제공됩니다.

postgres =# select pg_start_backup ( 'label_goes_here');
 pg_start_backup
------------------
 0/D4445B8
(1 행)

유형의 선택적 두 번째 매개 변수가 있습니다부울. 만약에true, 그것은 지정합니다 실행PG_START_BACKUP빨리 가능한 한. 이것은 즉각적인 체크 포인트를 강요하여 I/O 운영이 급증하여 동시에 실행 속도가 느려집니다 쿼리.

PG_STOP_BACKUP레이블을 제거합니다 에 의해 생성 된 파일PG_START_BACKUP및 트랜잭션 로그 아카이브 영역에서 백업 기록 파일을 만듭니다. 히스토리 파일에는에 주어진 레이블이 포함되어 있습니다.PG_START_BACKUP, 시작과 끝 백업을위한 트랜잭션 로그 위치 및 시작 및 백업의 끝 시간. 반환 값은 백업의 결말입니다 트랜잭션 로그 위치 (다시 무시할 수 있음). 후에 결말 위치 기록, 현재 트랜잭션 로그 삽입 지점은 다음 트랜잭션으로 자동 진행됩니다 종료 트랜잭션 로그 파일을 보관할 수 있도록 로그 파일 즉시 백업을 완료하려면

PG_SWITCH_XLOG다음으로 이동합니다 트랜잭션 로그 파일, 현재 파일을 보관할 수 있습니다. (연속 아카이브를 사용하고 있다고 가정). 반환 값은입니다 결국 트랜잭션 로그 위치 + 1 방금 완성 된 내에서 트랜잭션 로그 파일. 트랜잭션 로그 활동이없는 경우 마지막 트랜잭션 로그 스위치 이후PG_SWITCH_XLOG아무것도하지 않고 시작을 반환합니다 현재 사용중인 트랜잭션 로그 파일의 위치.

pg_create_restore_point생성 a 복구 대상으로 사용할 수있는 트랜잭션 로그 레코드, 해당 트랜잭션 로그 위치를 반환합니다. 주어진 그런 다음 이름을 사용할 수 있습니다복구 _target_name회복이 진행될 지점을 지정합니다. 피하다 복구 이후 동일한 이름으로 여러 복원 지점 생성 이름이 회복과 일치하는 첫 번째 사람에서 멈출 것입니다. 목표.

pg_current_xlog_location디스플레이 현재 트랜잭션 로그 쓰기 위치와 동일한 형식의 위치 위의 기능에 의해. 비슷하게,pg_current_xlog_insert_location현재 트랜잭션 로그 삽입 지점. 삽입 지점은입니다."논리"트랜잭션 로그의 끝 모든 순간, 쓰기 위치는 실제로 서버의 내부 버퍼에서 작성되었습니다. 그만큼 쓰기 위치는 외부에서 검사 할 수있는 끝입니다. 서버, 그리고 당신이 관심이 있다면 일반적으로 원하는 것입니다. 부분 완료 트랜잭션 로그 파일을 보관합니다. 삽입 포인트는 주로 서버 디버깅 목적으로 제공됩니다. 이들은 모두 읽기 전용 작업이며 슈퍼 사용자가 필요하지 않습니다. 권한.

사용할 수 있습니다PG_XLOGFILE_NAME_OFFSET추출 해당 트랜잭션 로그 파일 이름 및 바이트 오프셋에서 위의 기능 중 하나의 결과. 예를 들어:

postgres =# select * from pg_xlogfile_name_offset (pg_stop_backup ());
        file_name | file_offset 
---------------------------------------------
 00000001000000000000000D |     4039624
(1 행)

마찬가지로pg_xlogfile_name트랜잭션 로그 파일 이름 만 추출합니다. 주어진 경우 트랜잭션 로그 위치는 정확히 트랜잭션 로그 파일에 있습니다. 경계,이 두 기능은 선행의 이름을 반환합니다. 트랜잭션 로그 파일. 이것은 일반적으로 원하는 행동입니다 전례 이후 트랜잭션 로그 아카이빙 동작 관리 파일은 현재 보관 해야하는 마지막 파일입니다.

pg_xlog_location_diff계산 두 트랜잭션 로그 위치 사이의 바이트 차이. 그것 와 함께 사용할 수 있습니다.pg_stat_replication또는 에 표시된 일부 기능표 9-61복제 지연을 얻으려면

이 메이저 토토 사이트의 적절한 사용에 대한 자세한 내용은 참조하십시오.섹션 24.3.

9.26.4. 복구 제어 기능

표 9-62대기 상태의 현재 상태에 대한 정보를 제공합니다. 이것들 메이저 토토 사이트은 회복 중 및 정상 모두에서 실행될 수 있습니다. 달리기.

표 9-62. 복구 정보 기능

이름 반환 유형 설명
PG_IS_IN_RECOVERY () bool 회복이 아직 진행중인 경우 진실.
pg_last_xlog_receive_location () 텍스트 수신 및 디스크에 동기화 된 마지막 트랜잭션 로그 위치 가져 오기 복제를 스트리밍하여. 스트리밍 복제가 있습니다 진보 이것은 단조롭게 증가합니다. 회복이 있다면 완료된 마지막 WAL의 값으로 정적으로 유지됩니다. 복구 중에 레코드를 수신하고 디스크로 동기화했습니다. 스트리밍하는 경우 복제가 비활성화되었거나 아직 시작되지 않은 경우 기능 NULL을 반환합니다.
pg_last_xlog_replay_location () 텍스트 복구 중에 마지막 트랜잭션 로그 위치가 재생됩니다. 만약에 회복은 여전히 진행 중입니다. 이것은 단조로 증가합니다. 만약에 회복이 완료된 다음이 값은 정적으로 유지됩니다. 해당 복구 중에 마지막 WAL 레코드의 가치가 적용되었습니다. 언제 서버는 기능을 복구하지 않고 정상적으로 시작되었습니다 NULL을 반환합니다.
PG_LAST_XACT_REPLAY_TIMESTAMP () 시간대가있는 타임 스탬프 복구 중에 재생 된 마지막 거래의 타임 스탬프 받기. 커밋 또는 중단 WAL 레코드가 그 시간입니다. 기본에서 트랜잭션이 생성되었습니다. 거래가없는 경우 복구 중에 재생되면이 기능은 NULL을 반환합니다. 그렇지 않으면 회복이 여전히 진행 중이면 이것이 증가합니다. 단조로. 복구가 완료되면이 값은됩니다 적용되는 마지막 트랜잭션의 값에 따라 정적으로 유지됩니다. 그 회복. 서버가 정상적으로 시작된 경우 함수 복구 기능이 NULL을 반환합니다.

테이블 9-63회복 진행 상황을 제어합니다. 이러한 메이저 토토 사이트은 일 수 있습니다 회복 중에 만 실행되었습니다.

표 9-63. 복구 제어 메이저 토토 사이트

이름 반환 유형 설명
PG_IS_XLOG_REPLAY_PAUSD () bool 회복이 일시 중지 된 경우 진실.
PG_XLOG_REPLAY_PAUSE () void 즉시 회복을 일시 중지합니다.
pg_xlog_replay_resume () void 일시 정지 된 경우 복구를 다시 시작합니다.

복구가 일시 중지되는 동안 더 이상 데이터베이스 변경 사항이 없습니다 적용된. 핫 대기에 있으면 모든 새로운 쿼리가 동일하게 표시됩니다. 데이터베이스의 일관된 스냅 샷 및 더 이상의 쿼리 충돌이 없습니다. 회복이 재개 될 때까지 생성됩니다.

스트리밍 복제가 비활성화되면 일시 정지 상태가 5 월 문제없이 무기한 계속하십시오. 스트리밍 중 복제 WAL 레코드가 계속받을 것입니다. 결국 지속 시간에 따라 사용 가능한 디스크 공간을 채 웁니다 일시 정지, 월 생성 속도 및 사용 가능한 디스크 공간.

9.26.5. 스냅 사진 동기화 함수

PostgreSQL데이터베이스가 허용됩니다 스냅 샷을 동기화하는 세션. 에이스냅 샷가 보이는 데이터를 결정합니다 스냅 샷을 사용하는 트랜잭션. 동기화 된 스냅 샷입니다 둘 이상의 세션이 동일한 내용을 볼 필요가있을 때 필요합니다. 데이터베이스에서. 두 세션이 거래를 시작하면 거래를 시작합니다 독립적으로, 항상 3 분의 1 일 가능성이 있습니다 거래는 두 가지의 실행 사이에 저지른다트랜잭션 시작명령이 있으므로 한 세션이 나타납니다 그 거래와 다른 거래의 효과는 그렇지 않습니다.

이 문제를 해결하려면PostgreSQL거래를 허용Export사용중인 스냅 샷. 길이 거래 내보내기는 계속 열려 있으며 다른 거래는가져 오기스냅 샷이 있습니다 그들은 데이터베이스에 대한 동일한 견해를 정확히 볼 수 있다고 보장했습니다. 첫 번째 거래가 나타납니다. 그러나 모든 데이터베이스 변경 사항이 변경됩니다 이러한 거래 중 하나에 의해 다른 거래는 다른 사람에게는 보이지 않습니다. 커밋되지 않은 변경 사항에 대해 평소와 같이 거래 업무. 따라서 트랜잭션은에 대해 동기화됩니다 기존 데이터이지만 변경 사항은 정상적으로 행동합니다 그들 자신.

스냅 샷이PG_EXPORT_SNAPSHOT함수, 표시테이블 9-64및로 가져 오기트랜잭션 설정명령.

표 9-64. 스냅 샷 동기화 함수

이름 반환 유형 설명
pg_export_snapshot () 텍스트 현재 스냅 샷을 저장하고 식별자를 반환

함수PG_EXPORT_SNAPSHOT현재 스냅 샷을 저장하고 a를 반환합니다.텍스트문자열 스냅 샷을 식별합니다. 이 문자열은 전달되어야합니다 (데이터베이스 외부) 스냅 샷을 가져 오려는 클라이언트에게. 스냅 샷은 끝날 때까지만 가져올 수 있습니다. 그것을 내보낸 거래. 거래는 더 많은 수출을 할 수 있습니다 필요한 경우 하나의 스냅 샷. 그렇게하는 것은에서만 유용합니다.Committed이후의 거래반복 가능한 읽기그리고 더 높은 격리 레벨, 트랜잭션은 전체적으로 동일한 스냅 샷을 사용합니다 일생. 트랜잭션이 스냅 샷을 내보낸 후에는 할 수 없습니다 준비하십시오PostgreSQL : 문서 : 9.3 : 거래 스포츠 토토 베트맨.

참조PostgreSQL : 문서 : 9.3 : 범퍼카 토토 설정내보낸 스냅 샷 사용 방법에 대한 세부 사항.

9.26.6. 데이터베이스 객체 관리 기능

표 9-65데이터베이스 개체의 디스크 공간 사용량 계산.

표 9-65. 데이터베이스 객체 크기 기능

이름 반환 유형 설명
pg_column_size (Any) int 특정 값을 저장하는 데 사용되는 바이트 수 (아마도 압축)
pg_database_size (OID) bigint 지정된 OID와 함께 데이터베이스에서 사용하는 디스크 공간
pg_database_size (이름) bigint 지정된 이름으로 데이터베이스에서 사용하는 디스크 공간
pg_indexes_size (Regclass) bigint 지정된 인덱스에 사용되는 총 디스크 공간 테이블
pg_relation_size (관계 RegClass, 포크 텍스트) bigint 지정된 포크가 사용하는 디스크 공간 ('main', 'FSM', 'vm'또는'init')의 지정된 테이블 또는 색인
pg_relation_size (관계 RegClass) bigint 속기pg_relation_size (..., '기본')
pg_size_pretty (bigint) 텍스트 64 비트 정수로 표현 된 바이트의 크기를 크기 단위를 가진 사람이 읽을 수있는 형식
pg_size_pretty (숫자) 텍스트 크기를 숫자 값으로 표현한 바이트로 변환합니다. 크기 단위를 가진 사람이 읽을 수있는 형식
pg_table_size (Regclass) bigint 지정된 테이블에서 사용하는 디스크 공간, 인덱스를 제외하고 토스트, 여유 공간지도 및 가시성 맵 포함)
pg_tablespace_size (OID) bigint 지정된 OID와 함께 테이블 스페이스에서 사용하는 디스크 공간
pg_tablespace_size (이름) bigint 지정된 이름으로 테이블 스페이스에서 사용하는 디스크 공간
PG_TOTAL_RELATION_SIZE (regclass) bigint 지정된 테이블에서 사용하는 총 디스크 공간을 포함하여 인덱스 및토스트데이터

pg_column_size공간을 보여줍니다 개별 데이터 값을 저장하는 데 사용됩니다.

PG_TOTAL_RELATION_SIZE테이블 또는 토스트 테이블의 OID 또는 이름을 반환합니다. 모든 관련을 포함하여 해당 테이블에 사용되는 온 디스크 공간 인덱스. 이 기능은와 같습니다.pg_table_size + pg_indexes_size.

pg_table_sizeOID를 수락합니다 테이블의 이름과 해당 테이블에 필요한 디스크 공간을 반환합니다. 인덱스 제외. (토스트 우주, 여유 공간지도 및 가시성 지도가 포함되어 있습니다.)

pg_indexes_sizeOID를 수락합니다 테이블의 이름과 모든에서 사용하는 총 디스크 공간을 반환합니다 해당 테이블에 첨부 된 인덱스.

pg_database_sizepg_tablespace_sizea의 OID 또는 이름을 수락하십시오 데이터베이스 또는 테이블 스페이스 및 사용 된 총 디스크 공간을 반환합니다. 거기에. 사용하려면pg_database_size, 당신 꼭 가져야Connect지정된 데이터베이스 (기본적으로 부여됨). 사용하려면pg_tablespace_size, 당신은생성지정된 권한 테이블 스페이스, 현재의 기본 테이블 스페이스가 아니라면 데이터 베이스.

pg_relation_sizeOID를 수락합니다 또는 테이블, 인덱스 또는 토스트 테이블의 이름을 사용하여 온 디스크를 반환합니다. 그 관계의 한 포크의 바이트 크기. (대부분의 경우 목적 고급 기능을 사용하는 것이 더 편리합니다PG_TOTAL_RELATION_SIZE또는pg_table_size모든 포크.) 하나의 인수로 기본 데이터의 크기를 반환합니다. 관계의 포크. 두 번째 인수는 제공 될 수 있습니다 검사 할 포크 지정 :

  • 'main'메인의 크기를 반환합니다 관계의 데이터 포크.

  • 'FSM'무료 크기를 반환합니다 우주지도 (참조섹션 58.3) 관계와 관련이 있습니다.

  • 'VM'가시성의 크기를 반환합니다 지도 (참조롤 토토 : 문서 : 9.3 : 가시성 맵) 관련 관계와.

  • 'init'크기를 반환합니다 초기화 포크 (있는 경우) (참조섹션 58.5) 관계.

pg_size_pretty익숙해 질 수 있습니다 인간이 읽을 수있는 다른 기능 중 하나의 결과를 형식 KB, MB, GB 또는 TB를 적절하게 사용합니다.

테이블 또는 인덱스에서 작동하는 위의 기능은 a를 허용합니다.RegClass인수는 단순히의 Oid입니다 의 테이블 또는 색인PG_CLASS시스템 카탈로그. 당신은 손으로 Oid를 바라 볼 필요가 없습니다. 그러나 이후로RegClass데이터 유형의 입력 컨버터가 당신을 위해 일을 할 것입니다. 테이블 이름을 작성하십시오 문자 그대로 상수처럼 보이도록 단일 따옴표로 둘러싸여 있습니다. 평범한 취급과 호환성SQL이름, 문자열이 변환됩니다 테이블 주위에 이중 인용문이 포함되지 않는 한 소문자 이름.

기존 객체를 나타내지 않는 OID가 전달되는 경우 위의 함수 중 하나에 대한 논쟁으로 Null이 반환됩니다.

표 9-66관련된 특정 디스크 파일을 식별하는 데 도움이됩니다 데이터베이스 개체.

표 9-66. 데이터베이스 객체 위치 함수

이름 반환 유형 설명
PG_RELATION_FILENODE (관계 RegClass) OID 지정된 관계의 Filenode 번호
PG_RELATION_FILEPATH (관계 RegClass) 텍스트 지정된 관계의 파일 경로 이름

PG_RELATION_FILENODE테이블의 OID 또는 이름, 색인, 시퀀스 또는 토스트 테이블 및 반환"Filenode"현재 번호 그것에 할당되었습니다. Filenode는 파일의 기본 구성 요소입니다 관계에 사용되는 이름 (참조섹션 58.1자세한 내용은). 대부분의 테이블의 경우 결과는와 동일합니다.pg_class.relfilenode그러나 특정 시스템 카탈로그의 경우relfilenode는 0 이고이 함수는입니다 올바른 값을 얻으려면 사용해야합니다. 함수는 if를 반환합니다 보기와 같이 스토리지가없는 관계를 통과했습니다.

PG_RELATION_FILEPATH|PG_RELATION_FILENODE그러나 반환됩니다 전체 파일 경로 이름 (데이터베이스 클러스터의 데이터와 관련하여 예배 규칙서pgdata) 관계의.

9.26.7. 일반 파일 액세스 기능

표 9-67서버를 호스팅하는 컴퓨터의 파일에 기본 액세스를 제공합니다. 데이터베이스 클러스터 디렉토리 및 내의 파일 만log_directory액세스 할 수 있습니다. 상대 경로를 사용하십시오 클러스터 디렉토리의 파일 및 일치하는 경로의 경우log_directory구성 설정 로그 파일. 이러한 메이저 토토 사이트의 사용은 슈퍼업자로 제한됩니다.

표 9-67. 일반 파일 액세스 함수

이름 반환 유형 설명
PG_LS_DIR (Dirname 텍스트) 텍스트 설정 디렉토리의 내용 목록
pg_read_file (filename 텍스트[,오프셋 bigint, 길이 bigint]) 텍스트 텍스트 파일의 내용을 반환
PG_READ_BINARY_FILE (filename 텍스트[,오프셋 bigint, 길이 bigint]) BYTEA 파일의 내용 반환
pg_stat_file (filename 텍스트) 레코드 파일에 대한 정보 반품

PG_LS_DIR모든 이름을 반환합니다 특수 항목을 제외한 지정된 디렉토리".""..".

PG_READ_FILEa의 일부를 반환합니다 텍스트 파일, 주어진에서 시작오프셋, 최대 반환길이바이트 (IF가 적습니다 파일 끝이 먼저 도달합니다). 만약에오프셋는 음수이며, 끝과 관련이 있습니다 파일. 만약에오프셋길이생략되면 전체 파일이 반환됩니다. 파일에서 읽은 바이트는 서버 인코딩; 유효하지 않으면 오류가 발생합니다. 부호화.

PG_READ_BINARY_FILEPG_READ_FILE44425_44457BYTEA값; 따라서 인코딩이 없습니다 수표가 수행됩니다. 와 함께convert_from함수,이 기능을 사용할 수 있습니다 지정된 인코딩에서 파일을 읽으려면 :

convert_from (pg_read_binary_file ( 'file_in_utf8.txt'), 'utf8'); 선택

PG_STAT_FILE레코드를 반환합니다 파일 크기, 마지막으로 액세스 된 타임 스탬프, 마지막 수정 타임 스탬프, 마지막 파일 상태 변경 타임 스탬프 (UNIX 플랫폼 전용), 파일 생성 타임 스탬프 (Windows 만) 및 A부울디렉토리인지를 나타냅니다. 일반적인 사용법 포함하다:

선택 *에서 pg_stat_file ( 'filename');
선택 (pg_stat_file ( 'filename')). 수정;

9.26.8. 자문 잠금 기능

테이블 9-68자문 잠금 관리. 적절한 사용에 대한 자세한 내용 이 기능은 참조섹션 13.3.4.

표 9-68. 자문 잠금 메이저 토토 사이트

이름 반환 유형 설명
pg_advisory_lock ( bigint) void 독점 세션 레벨 자문 잠금
pg_advisory_lock (key1 int, key2 int) void 독점 세션 레벨 자문 잠금
pg_advisory_lock_shared ( bigint) void 공유 세션 레벨 자문 잠금
pg_advisory_lock_shared (key1 int, key2 int) void 공유 세션 레벨 자문 잠금
pg_advisory_unlock ( bigint) 부울 독점 세션 레벨 자문 잠금 릴
pg_advisory_unlock (key1 int, key2 int) 부울 독점 세션 레벨 자문 잠금 릴
pg_advisory_unlock_all () void 현재에서 보유한 모든 세션 레벨 자문 잠금 세션
pg_advisory_unlock_shared ( bigint) 부울 공유 세션 레벨 자문 잠금 릴
pg_advisory_unlock_shared (key1 int, key2 int) 부울 공유 세션 레벨 자문 잠금 릴
pg_advisory_xact_lock ( bigint) void 독점 거래 레벨 자문 잠금
pg_advisory_xact_lock (key1 int, key2 int) void 독점 거래 레벨 자문 잠금
pg_advisory_xact_lock_shared ( bigint) void 공유 거래 레벨 자문 잠금
pg_advisory_xact_lock_shared (key1 int, key2 int) void 공유 거래 레벨 자문 잠금
PG_TRY_ADVISORY_LOCK ( bigint) 부울 사용 가능한 경우 독점 세션 레벨 자문 잠금을 얻습니다
PG_TRY_ADVISORY_LOCK (key1 int, key2 int) 부울 사용 가능한 경우 독점 세션 레벨 자문 잠금 획득
pg_try_advisory_lock_shared ( bigint) 부울 가능한 경우 공유 세션 수준 자문 잠금 획득
pg_try_advisory_lock_shared (key1 int, key2 int) 부울 가능한 경우 공유 세션 수준 자문 잠금 획득
PG_TRY_ADVISORY_XACT_LOCK ( bigint) 부울 독점 거래 레벨 자문 잠금 If 사용 가능
PG_TRY_ADVISORY_XACT_LOCK (key1 int, key2 int) 부울 독점 거래 레벨 자문 잠금 If 사용 가능
pg_try_advisory_xact_lock_shared ( bigint) 부울 사용 가능한 경우 공유 거래 레벨 자문 잠금 획득
pg_try_advisory_xact_lock_shared (key1 int, key2 int) 부울 사용 가능한 경우 공유 거래 레벨 자문 잠금 획득

pg_advisory_lock잠금 an 응용 프로그램 정의 리소스 단일 64 비트 키 값 또는 두 개의 32 비트 키 값 ( 두 개의 주요 공간이 겹치지 않습니다). 다른 세션이 이미 a 동일한 리소스 식별자를 고정하면이 기능은 리소스를 사용할 수있게됩니다. 자물쇠는 독점적입니다. 다수의 잠금 요청 스택 스택, 동일한 리소스가 잠겨 있으면 3 그런 다음 다른 사람을 위해 해제하려면 세 번 잠금을 해제해야합니다. 세션 사용.

pg_advisory_lock_shared동일pg_advisory_lock를 제외하고 잠금 장치는 공유 잠금을 요청하는 다른 세션과 공유 할 수 있습니다. 독점적 인 사물함 만 잠겨 있습니다.

PG_TRY_ADVISORY_LOCKpg_advisory_lock52874_53000true또는 returnfalseif 자물쇠는 즉시 획득 할 수 없습니다.

pg_try_advisory_lock_shared작품 동일PG_TRY_ADVISORY_LOCK, 독점이 아닌 공유를 취득하려는 시도를 제외하고 잠그다.

pg_advisory_unlock릴리스 a 이전에 획득 한 독점 세션 레벨 자문 잠금. 그것 보고true잠금이 성공적으로 인 경우 출시된. 자물쇠가 유지되지 않으면 반환됩니다false, 또한 SQL 경고가 있습니다 서버에서보고합니다.

pg_advisory_unlock_shared작품 동일pg_advisory_unlock, 공유 세션 수준의 자문 잠금 장치를 출시 한 경우를 제외하고

pg_advisory_unlock_all의지 모든 세션 수준의 자문 잠금장 릴리스 현재 세션. (이 메이저 토토 사이트은 세션 종료시 암시 적으로 호출됩니다 클라이언트가 무의식적으로 연결을 끊는 경우.)

pg_advisory_xact_lock동일pg_advisory_lock를 제외하고 잠금은 현재 끝에서 자동으로 해제됩니다. 거래 및 명시 적으로 릴리스 할 수 없습니다.

pg_advisory_xact_lock_shared작품 동일pg_advisory_lock_shared, 잠금이 현재 끝에서 자동으로 해제되는 것을 제외하고 거래 및 명시 적으로 릴리스 할 수 없습니다.

PG_TRY_ADVISORY_XACT_LOCK작품 동일PG_TRY_ADVISORY_LOCK, 잠금을 제외하고 인수 한 경우, 마지막에 자동으로 릴리스됩니다. 현재 거래의 경우 명시 적으로 릴리스 할 수 없습니다.

pg_try_advisory_xact_lock_sharedpg_try_advisory_lock_shared, 잠금을 제외하고 획득 한 것은 현재의 끝에서 자동으로 릴리스됩니다. 거래 및 명시 적으로 릴리스 할 수 없습니다.