MastodonのDBリストアをやってみた
この記事は mimikun Advent Calendar 6日目 の記事です.
自分はDocker構築でMastodonをやっているので, DockerコンテナでDBリストアやったほうがいいんじゃないかな. と思ったのでやってみました
(ちょうどやってみる機会も生まれたことだし)
用意するもの
- Docker (お使いの環境に合った物)
- Google検索
手順
$ docker pull postgres9.6-alpine
- vim docker-start.sh
docker-start.sh #!/bin/bash docker run -d --name psql96 -e POSTGRES_PASSWORD=postgres -p 5432:5432 postgres:9.6-alpine
$ scp [ホスト名]:path_to_db_backup_file .
その後,
docker exec -it psql9.6 /bin/bash
- 別タブを開いて,
$ docker cp mastodon_db_backup.dump [コンテナID]:/var/lib/postgres/
する
postgresコンテナ内での作業
$ su - postgres
$ psql
- このように入力
sql> CREATE USER postgres CREATEDB; sql> CREATE DATABASE postgres WITH TEMPLATE = template0 ENCODING = 'UTF8' LC_COLLATE = 'en_US.utf8' LC_CTYPE = 'en_US.utf8'; sql> ALTER DATABASE postgres OWNER TO postgres; sql> \q
- restoreする
$ pg_restore -U postgres -C -d postgres mastodon_docker.dump --schema=public
なにもエラー表示されなかったら多分問題なくrestoreできています