Windows에서 pgadmin으로 Postgresql을 쓰다가, 리눅스로 갈아타려고 멀티부팅으로 설치했는데, 윈도우에 있는 걸 그대로 복원할 수 있더라.
방법은 pg_dumpall 이나 pg_dump 기능을 이용하는 것이다.
pg_dump는 데이터베이스 하나하나 백업이 가능하고, pg_dumpall은 서버 전체를 백업한다.
Windows에서 백업
cmd로 작업한다.
옵션은 간단하게
-h : hostname
-p : port
-U : username
-f : file
이렇다. 자세한 옵션은 문서를 참조 : https://www.postgresql.org/docs/current/static/app-pgdump.html
pg_dump
pg_dumpall
암호라고 뜨는 건
Database 수만큼 권한 때문에 비밀번호를 입력해야 한다.
Superuser 권한으로 접속했으니 계속 비밀번호를 입력해 주면 된다.
Linux(Ubuntu)에서 복원
백업 파일을 옮긴 후 sudo 권한이 있는 유저로 들어가서 다음과 같이 입력한다.
결과
이런식으로 로그가 뜨면서 백업이 진행된다.
(pg_restore 명령어로 하는 방법이 있긴한데 안 써봤당.
문서 https://www.postgresql.org/docs/9.5/static/app-pgdump.html
보고 해보면 비슷할 것 같다. 옵션이 다른게 있나..? )
여튼 하다 보면 'root'라는 이름의 유저가 없어서 복원이 안된다.. 뭐시기 하는 오류가 나는데
'root' 유저를 만들고 Superuser 권한을 준 뒤 다시 복원 시도하면 잘 된다.
확인은 psql을 실행해서 \du나 \d \l 이런 명령어를 입력해 보면 간단하게 할 수 있다.
'DB > PostgreSQL' 카테고리의 다른 글
[PGSQL] format 함수 (0) | 2016.12.14 |
---|---|
[Postgresql][Trigger] volatile, cost 100에 대해 (0) | 2016.09.29 |
[Postgresql][linux] 파일로 Trigger 코드 관리하기 (0) | 2016.09.29 |
[Postgresql] date/time 차이 계산해서 구하기 (3) | 2016.09.26 |
[Postgresql] table의 index정보 확인/생성하기 (1) | 2016.09.26 |
[PGSQL][Sequence] column을 serial 키워드 지정했을 때 permission denied 뜰 때 (0) | 2016.09.15 |
[PGSQL] the column contains null 오류날 때 (0) | 2016.09.15 |
[PGSQL] 조건문 (0) | 2016.09.14 |
[PGSQL] Column을 다른 형으로 바꾸려는데 CAST 오류가 나면 (0) | 2016.09.14 |
[PGSQL][Trigger] 트리거 코드를 확인하는 법 (0) | 2016.09.14 |