[postgresql] postgres 데이터베이스에서 단일 테이블의 백업을 만드는 방법은 무엇입니까?

postgres를 사용하여 데이터베이스 내에서 단일 테이블의 백업을 만드는 방법이 있습니까? 그리고 어떻게? 이것은 pg_dump 명령에서도 작동합니까?



답변

백업 할 테이블 --table을 알려주 pg_dump는 데 사용하십시오 .

pg_dump --host localhost --port 5432 --username postgres --format plain --verbose --file "<abstract_file_path>" --table public.tablename dbname


답변

우분투에 있다면

  1. postgres 사용자로 로그인 sudo su postgres
  2. pg_dump -d <database_name> -t <table_name> > file.sql

당신이 명령을 실행하고 있는지 확인 postgres사용자가 쓰기 권한이 (예 : /tmp)

편집하다

다른 컴퓨터에서 .sql을 덤프하려면 .sql 파일에 저장된 소유자 정보를 건너 뛰는 것을 고려해야합니다.

당신이 사용할 수있는 pg_dump --no-owner -d <database_name> -t <table_name> > file.sql


답변

pg_dump -h localhost -p 5432 -U postgres -d mydb -t my_table> backup.sql

단일 테이블의 백업을 수행 할 수 있지만 전체 데이터베이스의 백업을 수행 한 다음 필요한 테이블을 복원하는 것이 좋습니다. 항상 전체 데이터베이스를 백업하는 것이 좋습니다.

pg_dump를 사용하는 9 가지 방법


답변

그래픽 사용자 인터페이스를 선호하는 경우 pgAdmin III (Linux / Windows / OS X)을 사용할 수 있습니다. 선택한 테이블을 마우스 오른쪽 버튼으로 클릭 한 다음 “백업”을 클릭하십시오. 그것은 pg_dump당신을 위해 명령을 만들 것입니다.

여기에 이미지 설명을 입력하십시오

여기에 이미지 설명을 입력하십시오

여기에 이미지 설명을 입력하십시오


답변

Frank Heiken의 답변 외에도, INSERT대신 문 을 사용 copy from stdin하려면 --inserts플래그를 지정해야합니다

pg_dump --host localhost --port 5432 --username postgres --format plain --verbose --file "<abstract_file_path>" --table public.tablename --inserts dbname

--ignore-version더 이상 사용되지 않기 때문에 플래그를 생략했습니다 .


답변