이 문서는 지원되지 않는 버전의 PostgreSQL 용입니다.
당신은에 대해 같은 페이지를 볼 수 범퍼카 토토PostgreSQL : 문서 : 17 : 46 장. 배경 스포츠 토토 결과 프로세스버전 또는 위에 나열된 다른 지원 버전 중 하나입니다.

45 장. 배경

PostgreSQL을 확장하여 사용자가 제공 한 코드를 별도로 실행할 수 범퍼카 토토.PostgresPostgreSQL의 공유 메모리 영역 및 연결libpq할 수 범퍼카 토토

경고

사용에는 상당한 견고성과 보안 위험이 범퍼카 토토C언어, 제한되지 않은 액세스가 범퍼카 토토

나열된 모듈 만shared_preload_libraries배경 작업자를 운영 할 수 범퍼카 토토.RegisterBackgroundWorker (BackgroundWorker *Worker)에서_pg_init (). 구조배경 worker따라서 정의됩니다.

typedef void (*bgworker_main_type) (Datum main_arg);

bgw_name사용되는 문자열입니다

bgw_flags는 비트 마스크입니다bgworker_shmem_access(요청bgworker_backend_database_connection(요청bgworker_backend_database_connectionTObgworker_shmem_access또는 작업자 스타트 업

BGW_START_TIME는 서버 상태입니다Postgres시작해야합니다bgworkerstart_postmasterstart(즉시 시작Postgres자체가 자체적으로 완료되었습니다bgworkerstart_consistentstate(곧 시작하십시오bgworkerstart_recoveryfinished(시작 AS

BGW_RESTART_TIME간격입니다.Postgres기다려야합니다BGW_NEVER_RESTART,

bgw_mainDatumvoid. BGW_MAIN_ARG는 그것으로 전달됩니다MyBgworkerentry를 가리 킵니다배경 worker등록시 통과 된 구조

일단 실행되면 프로세스가 전화하여 데이터베이스에 연결할 수 범퍼카 토토BackgroundWorkerInitializeConnection (char *dbname, char). 이를 통해 프로세스가 트랜잭션을 실행할 수 범퍼카 토토SPI인터페이스. 만약에dbname는 NULL입니다. 세션은 그렇지 않습니다사용자 이름과정은 null입니다initdb. BackgroundWorkerInitializeConnection 할 수 범퍼카 토토

컨트롤에 도달하면 신호가 처음 차단됩니다bgw_main함수BackgroundWorkerUnblockSignalsBackgroundWorkerBlockSignals.

배경 작업자는 지속적으로 달리기를 예상합니다. 만약에Postgres다시 시작합니다Waitlatch (). 확인하십시오wl_postmaster_death플래그는 호출 할 때 설정됩니다Postgres자체가 범퍼카 토토

theWorker_SPIContrib 모듈이 포함되어 범퍼카 토토