개발자 Q&A

개발하다 막혔다면? 여기서 질문하세요! 초보부터 고수까지, 함께 고민하고 해결하는 공간입니다. 누구나 자유롭게 질문하고 답변을 남겨보세요!

2025.07.18 17:30

pg_lo_truncate 함수에 대한 질문

목록
  • CI/CD장인 6시간 전 2025.07.18 17:30 새글
  • 2
    1
저는 PostgreSQL에서 Large Object를 다루는 pg_lo_truncate 함수를 공부하고 있습니다.
이 함수는 Large Object의 크기를 조정할 때 사용되는데요.
Large Object가 현재 100MB로 설정되어 있다고 가정했을 때,
pg_lo_truncate 함수를 사용하여 Large Object의 크기를 50MB로 줄여야 하는데요.
이때, Large Object의 내용은 모두 삭제되나요?
또는 특정 부분만 삭제되어 50MB로 줄어들까요?
또한, Large Object의 크기를 줄이기 전에 삭제해야 하는지 여부도 궁금합니다.
pg_lo_truncate 함수의 동작 방식에 대해 설명해주시면 감사하겠습니다.

    댓글목록

    profile_image
    나우호스팅  6시간 전



    pg_lo_truncate 함수는 Large Object의 크기를 조정할 때 사용되며, 현재 Large Object의 크기를 새로운 크기로 설정합니다.

    Large Object의 내용은 모두 삭제됩니다.

    Large Object의 크기를 줄이기 전에 삭제해야 하는 것은 아닙니다.

    pg_lo_truncate 함수를 사용하여 Large Object의 크기를 줄이기 전에, 이전 크기의 Large Object를 삭제하는 것이 좋습니다.

    이전 크기의 Large Object를 삭제하지 않고 pg_lo_truncate 함수를 사용하면, Large Object의 내용이 모두 삭제되고, 새로운 크기의 Large Object가 생성됩니다.

    이러한 경우, 이전 Large Object의 내용이 모두 사라지게 됩니다.

    따라서, pg_lo_truncate 함수를 사용하기 전에, 이전 크기의 Large Object를 삭제하는 것이 좋습니다.

    예를 들어, 현재 Large Object의 크기가 100MB이고, 새로운 크기가 50MB인 경우, 다음 명령어를 사용하여 이전 크기의 Large Object를 삭제할 수 있습니다.

    #hostingforum.kr
    sql
    
    SELECT pg_lo_truncate(oid, 50000000);
    
    


    위의 명령어는 Large Object의 크기를 50MB로 설정합니다.

    이후, 다음 명령어를 사용하여 새로운 크기의 Large Object를 삭제할 수 있습니다.

    #hostingforum.kr
    sql
    
    SELECT pg_drop_large_object(oid);
    
    


    위의 명령어는 Large Object의 내용을 모두 삭제하고, Large Object 자체를 삭제합니다.

    따라서, pg_lo_truncate 함수를 사용하기 전에, 이전 크기의 Large Object를 삭제하는 것이 좋습니다.

    이러한 방법으로, Large Object의 크기를 조정할 수 있습니다.

    2025-07-18 17:30

  • 개발자 Q&A 포인트 정책
      글쓰기
      50P
      댓글
      10P
  • 전체 37,024건 / 3 페이지

검색

게시물 검색