47.3. 메모리 관리

토토 꽁 머니 : 문서 : 15 : SPI_PALLOC - 상위 집행자 컨텍스트에 와이즈 토토를 할당
PostgreSQL : - 상위 집행자 컨텍스트에서 와이즈 토토를 재 할당하십시오
토토 캔 : 문서 : 15 : SPI_PFREE - 상위 집행자 컨텍스트의 무료 와이즈 토토
토토 결과 : 문서 : 15 - 상단 집행자 컨텍스트에서 행을 사본 만들기
무지개 토토 : 문서 : 15 - 튜플을 데이텀으로 반환 준비
무지개 토토 : 문서 : 15 - 주어진 행의 선택된 필드를 교체하여 행을 만듭니다
사설 토토 사이트 : 문서 - 상위 집행자 컨텍스트에 할당 된 행 A 프리
postgresql : 문서 : - 무료로 행한 행 세트SPI_EXECUTE또는 유사한 함수
사설 토토 사이트 : 문서 - 이전에 저장된 준비된 진술 무료

PostgreSQL내에서 와이즈 토토를 할당와이즈 토토 컨텍스트는 다양한 시간 동안 살아야하는 여러 곳에서 만들어진 할당을 관리하는 편리한 방법을 제공합니다. 컨텍스트를 파괴하면 할당 된 모든 와이즈 토토가 방출됩니다. 따라서 와이즈 토토 누출을 피하기 위해 개별 물체를 추적 할 필요는 없습니다. 대신 상대적으로 적은 수의 맥락 만 관리해야합니다.Palloc및 관련 함수는에서 와이즈 토토를 할당합니다현재Context.

SPI_CONNECT새로운 와이즈 토토 컨텍스트를 생성하여 현재로 만듭니다.SPI_FINISH이전의 현재 와이즈 토토 컨텍스트를 복원하고에 의해 생성 된 컨텍스트를 파괴합니다SPI_CONNECT. 이러한 동작은 C 함수 내부에서 이루어진 일시적 와이즈 토토 할당이 C 함수 종료시 와이즈 토토 누출을 피하도록 보장합니다.

그러나 C 함수가 할당 된 와이즈 토토에서 개체를 반환 해야하는 경우 (예 : Pass-By-Reference 데이터 유형의 값과 같은) 해당 와이즈 토토를 사용하여 해당 와이즈 토토를 할당 할 수 없습니다Palloc, 적어도 SPI에 연결되어 있지 않습니다. 시도하면 객체는에 의해 거래됩니다.SPI_FINISH및 C 함수는 안정적으로 작동하지 않습니다. 이 문제를 해결하려면 사용SPI_PALLOC반환 오브젝트에 대한 와이즈 토토를 할당하려면SPI_PALLOC에 와이즈 토토를 할당상위 집행자 컨텍스트SPI_CONNECT호출되었으며, 이는 C 함수에서 반환 된 값에 대한 올바른 컨텍스트입니다. 이 섹션에 설명 된 다른 유틸리티 기능 중 일부는 상위 집행자 컨텍스트에서 생성 된 개체를 반환합니다.

언제SPI_CONNECT호출 된 C 함수의 개인 컨텍스트는SPI_CONNECT는 현재 상황으로 만들어졌습니다. 에 의해 만들어진 모든 할당Palloc, Repalloc또는 SPI 유틸리티 함수 (이 섹션에 설명 된대로)는이 맥락에서 이루어집니다. C 함수가 SPI 관리자와 연결이 끊어지면 (viaSPI_FINISH) 현재 컨텍스트는 상부 집행자 컨텍스트로 복원되며 C 함수 와이즈 토토 컨텍스트에서 작성된 모든 할당은 해제되며 더 이상 사용할 수 없습니다.

정정 제출

문서에 올바르지 않은 내용이 있으면 일치하지 않습니다. 특정 기능에 대한 귀하의 경험 또는 추가 설명이 필요합니다. 사용이 양식문서 문제를보고하려면