반응형
PostgreSQL에서 데이터베이스 덤프를 받는 방법은 pg_dump
명령어를 사용하는 것입니다. 덤프는 특정 데이터베이스를 백업하거나 다른 서버로 이동할 때 유용합니다. 덤프를 받는 방법은 여러 가지가 있지만, 가장 기본적인 사용법은 다음과 같습니다.
1. 기본 덤프 명령어
pg_dump -U [username] -d [database_name] -f [file_path]
-U [username]
: PostgreSQL 사용자 이름을 지정합니다.-d [database_name]
: 덤프할 데이터베이스 이름을 지정합니다.-f [file_path]
: 덤프 파일을 저장할 경로와 파일 이름을 지정합니다.
예를 들어:
pg_dump -U myuser -d mydatabase -f /path/to/backup.sql
2. 덤프 형식 선택
기본적으로 pg_dump
는 SQL 형식의 덤프를 생성하지만, 다른 형식을 선택할 수도 있습니다.
- SQL 형식 (기본값):
pg_dump -U myuser -d mydatabase -f /path/to/backup.sql
- 압축된 형식:
pg_dump -U myuser -d mydatabase -F c -f /path/to/backup.dump
-F c
옵션은 압축된 커스텀 형식으로 덤프를 만듭니다. 이 파일은pg_restore
를 사용해 복구할 수 있습니다.
3. 전체 데이터베이스 덤프
PostgreSQL에서 모든 데이터베이스를 덤프하려면 pg_dumpall
을 사용할 수 있습니다.
pg_dumpall -U [username] -f [file_path]
예를 들어:
pg_dumpall -U myuser -f /path/to/all_databases.sql
이 명령어는 모든 데이터베이스와 사용자 계정 등의 정보도 포함하여 백업합니다.
4. 특정 테이블만 덤프하기
특정 테이블만 덤프하려면 -t
옵션을 사용합니다.
pg_dump -U myuser -d mydatabase -t mytable -f /path/to/table_backup.sql
5. 원격 서버에서 덤프 받기
원격 PostgreSQL 서버의 데이터베이스를 덤프하려면 -h
옵션을 사용하여 호스트를 지정합니다.
pg_dump -h [host] -U [username] -d [database_name] -f [file_path]
예를 들어:
pg_dump -h remote.server.com -U myuser -d mydatabase -f /path/to/backup.sql
6. 비밀번호 입력 없이 덤프 받기
PostgreSQL 비밀번호를 묻지 않고 덤프를 받고 싶다면, .pgpass
파일을 사용하거나 PGPASSWORD
환경 변수를 설정할 수 있습니다.
export PGPASSWORD='your_password'
pg_dump -U myuser -d mydatabase -f /path/to/backup.sql
PostgreSQL에서 특정 스키마만 덤프를 받으려면 pg_dump
명령어에 --schema
옵션을 사용합니다. 이 옵션은 특정 스키마만 포함된 덤프 파일을 생성하는 데 유용합니다.
7. 특정 스키마 덤프 명령어
pg_dump -U [username] -d [database_name] --schema=[schema_name] -f [file_path]
-U [username]
: PostgreSQL 사용자 이름을 지정합니다.-d [database_name]
: 덤프할 데이터베이스 이름을 지정합니다.--schema=[schema_name]
: 덤프할 특정 스키마 이름을 지정합니다.-f [file_path]
: 덤프 파일을 저장할 경로와 파일 이름을 지정합니다.
예시
예를 들어, mydatabase
라는 데이터베이스에서 myschema
라는 스키마만 덤프를 받으려면 다음과 같이 실행합니다.
pg_dump -U myuser -d mydatabase --schema=myschema -f /path/to/myschema_backup.sql
참고 사항
- 여러 개의 스키마를 덤프하려면
--schema
옵션을 여러 번 사용할 수 있습니다:
pg_dump -U myuser -d mydatabase --schema=myschema1 --schema=myschema2 -f /path/to/multiple_schemas_backup.sql
이 방법을 통해 PostgreSQL 데이터베이스 덤프를 효율적으로 받을 수 있습니다.
반응형
'DB > PostgreSQL' 카테고리의 다른 글
[ PostgreSQL ] CAST - query시 형변환 하기 (0) | 2024.11.12 |
---|---|
[ PostgreSQL ] PostgreSQL의 데이터 타입 알아보기 (0) | 2024.10.25 |
[ PostgreSQL ] ALTER USER - 사용자 비밀번호 변경하기 (0) | 2024.10.17 |
[ PostgreSQL ] DELETE - 데이터 삭제하기 (0) | 2024.10.07 |
[ PostgreSQL ] RENAME, AS - Column 이름 변경하기 (0) | 2024.10.07 |