PostgreSQL

일일이 암호 입력 없이 일시등록한 후 여러 SQL 파일을 일괄 실행하는 OS별 실행법

_Blue_Sky_ 2024. 12. 20. 17:07
728x90
728x90

 

PostgreSQL 데이터베이스를 관리할 때, 매번 암호를 입력하고 SQL 파일을 실행하는 것은 번거로운 작업입니다. 이를 해결하기 위해 운영체제별로 암호를 일시적으로 등록하고 여러 SQL 파일을 한 번에 실행하는 방법을 알아보겠습니다.

암호 일시 등록 및 SQL 파일 일괄 실행 방법

1. Windows

  • cmd 창에서 환경 변수 설정:
    set PGPASSWORD=your_password
    다음 명령으로 SQL 파일을 실행합니다.
    psql -h your_host -d your_database -U your_user -f your_script.sql
  • 배치 파일 작성:
    @echo off
    set PGPASSWORD=your_password
    psql -h your_host -d your_database -U your_user -f your_script.sql
    위 배치 파일을 실행하면 지정된 SQL 스크립트가 자동으로 실행됩니다.

 

728x90

 

2. Linux (Ubuntu, CentOS 등)

  • 터미널에서 환경 변수 설정:
    export PGPASSWORD=your_password
    다음 명령으로 SQL 파일을 실행합니다.
    psql -h your_host -d your_database -U your_user -f your_script.sql
  • 쉘 스크립트 작성:
    #!/bin/bash
    export PGPASSWORD=your_password
    psql -h your_host -d your_database -U your_user -f your_script.sql
    위 스크립트 파일을 실행하면 지정된 SQL 스크립트가 자동으로 실행됩니다.

3. macOS

  • 터미널에서 환경 변수 설정:
    Linux와 동일하게 export PGPASSWORD=your_password 명령을 사용합니다.
  • 쉘 스크립트 작성:
    Linux와 동일한 방식으로 쉘 스크립트를 작성하여 사용합니다.

여러 SQL 파일 일괄 실행

  • for 루프:
    for file in *.sql; do
        psql -h your_host -d your_database -U your_user -f "$file"
    done
    위 명령은 현재 디렉토리에 있는 모든 .sql 파일을 순차적으로 실행합니다.

주의 사항

  • 보안: 환경 변수에 암호를 저장하는 것은 보안에 취약할 수 있습니다.
  • 임시성: 환경 변수는 현재 세션에서만 유효합니다. 다음 세션에서는 다시 설정해야 합니다.
  • .pgpass 파일: 더욱 안전하게 암호를 관리하려면 .pgpass 파일을 사용하는 것이 좋습니다.

 

728x90

 

추가 팁

  • psql 명령어 옵션: -f 옵션 외에도 다양한 옵션을 사용하여 psql 명령을 커스터마이징할 수 있습니다.
  • 스크립트 자동화: crontab 등을 이용하여 스크립트를 자동으로 실행할 수 있습니다.
  • GUI 도구: pgAdmin과 같은 GUI 도구를 이용하여 SQL 파일을 실행할 수 있습니다.

주의: 암호를 환경 변수에 저장하는 것은 보안상 위험할 수 있습니다. 가능한 한 .pgpass 파일을 사용하거나, SSH 터널링을 통해 더욱 안전하게 연결하는 것을 권장합니다.

더 자세한 정보가 필요하시면 언제든지 질문해주세요.

  • 특정 운영체제에서 문제가 발생하는 경우
  • .pgpass 파일 사용 방법
  • 더 복잡한 배치 작업을 위한 스크립팅

에 대해 궁금한 점을 자세히 설명해 드리겠습니다.

728x90
728x90