.png)
PostgreSQL 데이터베이스 백업 및 복원 방법(5가지 팁)
PostgreSQL 데이터베이스 서버(Postgres라고도 함)는 고급 데이터베이스 관리 시스템입니다. Postgres 서버는 데이터베이스 백업 및 복원을 위한 PostgreSQL 서버에서 단일 데이터베이스를 백업합니다. "-d"명령줄 옵션을 사용하여 pg_dump 명령에 데이터베이스 이름을 제공합니다. mydb 대신 실제 데이터베이스 이름을 바꿔야 합니다. PostgreSQL의 백업에서 단일 데이터베이스를 복원합니다. "psql"명령을 사용하여 PostgreSQL 데이터베이스를 복원하십시오. 복원: 다음 명령을 사용하여 모든 데이터베이스 백업. 백업: mydb 데이터베이스에서 mytable이라는 단일 테이블. 복원: 단일 테이블을 데이터베이스에 백업합니다. 백업 파일에 복원하려는 단일 테이블 백업만 포함되어 있는지 확인하십시오. PostgreSQL 데이터베이스를 압축 형식으로 백업합니다. gzip 명령줄 유틸리티를 사용하여 파이프된 백업 데이터를 수락하고 아카이브 파일을 만듭니다. 압축된 백업 파일에서 직접 데이터베이스를 복원합니다. 여기서 gunzip은 백업 파일을 추출하고 파이프 인터페이스를 통해 psql 명령으로 데이터를 보냅니다. 백업: PostgreSQL 데이터베이스 및 지정된 크기의 여러 파일로 백업을 분할합니다. 그것은 우리가 큰 데이터베이스를 백업하고 다른 호스트로 쉽게 전송할 수 있도록 도와줍니다. 아래 예에 따라 100MB 크기의 백업 파일을 분할합니다. 복원: 여러 분할 백업 파일에서 데이터베이스 백업. 백업: 지정된 크기의 압축 분할 파일에 있는 데이터베이스. 복원: 압축 파일의 여러 파일에서 데이터베이스.
psql
, pg_dump
및 pg_dumpall
명령줄 유틸리티를 제공합니다. 이 기사에서는 pg_dump 명령을 사용하여 데이터베이스를 백업하는 다양한 방법을 설명합니다. 또한 명령줄을 통해 postgres 데이터베이스 백업을 복원하는 방법도 배우게 됩니다. Postgres에서 데이터베이스 백업 및 복원
다음은 이 문서에 제공된 모든 쿼리로 원격 서버 또는 인증된 서버를 연결하는 데 사용할 수 있는 몇 가지 연결 옵션입니다.-d, --dbname=DBNAME
데이터베이스 이름 -h, --host=HOSTNAME
데이터베이스 서버 호스트 이름 또는 ip -p, --port=PORT
데이터베이스 서버 포트 번호(기본값: 5432) -U, --username=NAME
지정된 데이터베이스 사용자로 연결-W, --password
강제 비밀번호 프롬프트--role=ROLENAME
덤프 전에 SET ROLE 수행 1. PostgreSQL 백업 단일 데이터베이스
pg_dump -h localhost -U postgres -W -d mydb > mydb.sql
psql -h localhost -U postgres -W -d mydb < mydb.sql
2. PostgreSQL 백업 모든 데이터베이스
pg_dumpall
유틸리티를 사용하여 PostgreSQL의 모든 데이터베이스를 백업합니다. pg_dumpall -h localhost -U postgres -W > alldbs.sql
psql -h localhost -U postgres -W < alldbs.sql
3. PostgreSQL 백업 단일 테이블
pg_dump -h localhost -U postgres -d mydb -W -t table_1 > mydb-table_1.sql
psql -h localhost -U postgres -W -d mydb < mydb-table_1.sql
4. 압축 백업 및 데이터베이스 복원
pg_dump -h localhost -U postgres -W -d mydb | gzip > mydb.sql.gz
gunzip -c mydb.sql.gz | psql -h localhost -U postgres -W -d mydb
5. 여러 파일의 분할 백업 및 복원
pg_dump -h localhost -U postgres -W -d mydb | split -b 100m – mydb.pql
cat mydb.sql* | psql -h localhost -U postgres -W -d mydb
pg_dump -h localhost -U postgres -W -d mydb | gzip | split -b 100m – mydb.sql.gz
cat mydb.sql.gz* | gunzip | psql -h localhost -U postgres -W -d mydb