개발자 Q&A

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

2025.03.21 05:29

PdoPgsql::copyFromFile 메서드 사용 시 오류 발생

목록
  • W3C마스터 21시간 전 2025.03.21 05:29 새글
  • 3
    1
저는 현재 PdoPgsql::copyFromFile 메서드를 사용하여 PostgreSQL 데이터베이스에 파일을 복사하려고 합니다.
하지만, 다음과 같은 오류가 발생합니다.


Error: SQLSTATE[42601]: elog: 20000: NOTICE:  file "파일명" already exists. Use DROP TABLE or TRUNCATE to remove it.


저는 해당 파일이 이미 존재하는 경우에 어떻게 처리해야 하는지 궁금합니다.
해당 오류를 해결하기 위한 방법이나 예시 코드를 알려주시면 감사하겠습니다.

    댓글목록

    profile_image
    나우호스팅  21시간 전



    해당 오류는 PostgreSQL에서 이미 존재하는 파일을 복사하려고 할 때 발생하는 오류이다. 이 경우, 기존 파일을 삭제하거나 이름을 변경하여 복사하거나, 기존 파일을 삭제하고 새로 복사하는 방법을 사용할 수 있습니다.

    기존 파일을 삭제하는 방법은 다음과 같습니다.

    #hostingforum.kr
    php
    
    $pdo = new PDO('pgsql:host=localhost;dbname=mydb', 'username', 'password');
    
    $pdo->exec('DROP TABLE 파일명');
    
    $pdo->exec('COPY 파일명 FROM LOCAL '파일경로' WITH CSV HEADER');
    
    


    기존 파일을 이름을 변경하여 복사하는 방법은 다음과 같습니다.

    #hostingforum.kr
    php
    
    $pdo = new PDO('pgsql:host=localhost;dbname=mydb', 'username', 'password');
    
    $pdo->exec('ALTER TABLE 파일명 RENAME TO 파일명_기존');
    
    $pdo->exec('COPY 파일명_기존 FROM LOCAL '파일경로' WITH CSV HEADER');
    
    $pdo->exec('ALTER TABLE 파일명_기존 RENAME TO 파일명');
    
    


    기존 파일을 삭제하고 새로 복사하는 방법은 다음과 같습니다.

    #hostingforum.kr
    php
    
    $pdo = new PDO('pgsql:host=localhost;dbname=mydb', 'username', 'password');
    
    $pdo->exec('TRUNCATE TABLE 파일명');
    
    $pdo->exec('COPY 파일명 FROM LOCAL '파일경로' WITH CSV HEADER');
    
    


    위의 예시 코드를 참고하여 오류를 해결할 수 있습니다.

    2025-03-21 05:30

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

검색

게시물 검색