mreach
(M. Reacher)
12월 12, 2019, 4:06오전
1
대량의 콘텐츠를 가져오는 과정을 곧 테스트해 보려는데, 문제가 생겼을 때 제대로 되돌릴 수 있는지 확인하고 싶습니다.
외부 PostgreSQL 인스턴스를 사용 중이라 Docker의 Discourse Rails 인스턴스를 백업할 필요는 없고, 다음 단계로 데이터베이스만 백업하면 될 것 같습니다:
백업:
./launcher stop app
pg_dump -U username -p 12345 -W -F p databasename | xz > ~/backup/database/$(date +"%d-%m-%Y_%H.%M.%S").databasename.pgsql.xz
./launcher start app
### 콘텐츠 가져오기 ###
문제가 발생하면 복원:
./launcher stop app
xzcat ~/backup/database/DATE.databasename.pgsql.xz | psql -U username -p 12345 -W databasename
./launcher start app
이렇게 하면 정상적이고 기능적인 상태로 돌아갈 수 있는 거죠, 맞나요?
pfaffman
(Jay Pfaffman)
12월 12, 2019, 4:10오전
2
아마도 내장된 쉬운 복원 기능이 있을 것입니다. 이 기능은 테스트와 지원이 이루어지며, 클릭 몇 번이나 명령어 한 줄이면 됩니다.
당신의 방법이 작동하지 않으면, 당신은 혼자가 됩니다.
mreach
(M. Reacher)
12월 12, 2019, 4:12오전
3
앞서 언급했듯이, 저는 Docker화된 PostgreSQL 대신 외부 PostgreSQL 데이터베이스를 사용하고 있으며, 불행히도 일반적인 백업/복원 방법이 저에게는 작동하지 않습니다(아마도 대형 DB 서버에서 약간 더 새로운 버전의 PostgreSQL을 실행하고 있기 때문일 것입니다).
pfaffman
(Jay Pfaffman)
12월 12, 2019, 4:28오전
4
아, 그래. pg11을 사용 중이라면 알아서 해결하셔야 해요. 외부 DB에서 pg10을 사용 중이라면 문제없을 거예요.
하지만 테스트해서 제대로 작동하는지 확인해 보세요.
gerhard
(Gerhard Schlager)
12월 12, 2019, 12:54오후
5
PG11과 PG12는 곧 백업 및 복원 프로세스에서 지원될 예정입니다. 기대해 주세요.
감사합니다! 한 가지 확인하고 싶은데요, 콘텐츠가 포함된 Discourse 사이트에 백업을 복원하면 외부 PostgreSQL 데이터베이스 인스턴스(RDS)의 모든 데이터가 완전히 삭제되나요? 복원 중 실패나 연결이 끊어지는 경우 RDS 데이터가 손상될 수 있나요?
pfaffman
(Jay Pfaffman)
11월 17, 2020, 3:27오후
10
이 작업은 discourse 데이터베이스의 모든 데이터를 삭제하지만, 다른 데이터베이스에는 영향을 미치지 않습니다. 복원이 실패하면 기존 데이터는 그대로 유지됩니다.