PostgreSQL의 PL/pgSQL 절차 언어를 사용하면 강력한 데이터베이스 확장이 가능합니다. 이 가이드에서는 PL/pgSQL 쿼리 결과를 CSV 파일에 저장하는 두 가지 방법을 자세히 설명합니다.
방법 1: COPY를 사용하여 서버측 내보내기
가장 효율적인 서버 측 접근 방식은 PostgreSQL의 COPY
명령을 활용하는 것입니다. 다음과 같은 명령:
<code class="language-sql">COPY (SELECT * FROM foo) TO '/tmp/test.csv' WITH CSV DELIMITER ',' HEADER;</code>
"foo" 테이블의 데이터를 서버의 CSV 파일로 내보냅니다. 결정적으로 이를 위해서는 적절한 서버 측 권한이 필요합니다. 모범 사례는 이러한 권한을 안전하게 관리하기 위해 SECURITY DEFINER
옵션을 사용하여 전용 기능을 만드는 것입니다.
방법 2: COPY TO STDOUT을 사용하여 클라이언트측 내보내기
또는 COPY TO STDOUT
명령줄 클라이언트 내에서 psql
명령을 사용하여 클라이언트 측에서 CSV 내보내기를 처리할 수 있습니다. copy
메타 명령을 사용하면 다음과 같은 작업이 가능합니다.
<code class="language-sql">\copy (SELECT * FROM foo) TO '/tmp/test.csv' WITH CSV DELIMITER ',' HEADER</code>
copy
은 표준 SQL 명령이 아닌 메타 명령이므로 종료 세미콜론(;
)이 필요하지 않습니다.
보안 고려 사항(서버측):
서버측 접근 방식에는 신중한 보안 계획이 필요합니다.
클라이언트측 접근 방식 고려 사항:
클라이언트 측 방법을 사용하는 경우:
pg_copy_from
및 pg_copy_to
과 같은 내장 기능의 성능이 최적이 아닐 수 있습니다. 보다 효율적인 대체 방법을 고려해보세요.위 내용은 PostgreSQL에서 PL/pgSQL 쿼리 결과를 CSV 파일로 내보내는 방법은 무엇입니까?의 상세 내용입니다. 자세한 내용은 PHP 중국어 웹사이트의 기타 관련 기사를 참조하세요!