先週金曜日のことを.
学生が,私の部屋のデータベースサーバへデータを移行したいということで,こちらは,ユーザを新規に作り,データベースを作り,メールで伝えました.
その後はメールで情報交換をしました.こちらもそのほうが好都合でthat's more convenient for me,顔を合わせることなく,授業準備などをして,メールが来たらその都度対応しました.
データベースの文字コードを変更してほしい,という連絡が来ました.
私も,一つのコマンドかSQL文で,変更する方法を知らなかったので,データベースを作り直すアプローチを指示*1しました.
- データベースへの接続をすべて切断します.
- サーバにリモートログインして,「pg_dump dbname > dbname.sql」を実行します.
- 「dropdb dbname」を実行します.
- 「createdb -O username -E UTF-8 dbname」を実行します.
- 「db_restore -d dbname < dbname.sql」を実行します.
- 「psql dbname username」を実行して,「\dt」などにより,テーブルなどが保存されているのを確認します.
上記のdbnameとusernameはもちろんそのままではなく,データベース名とユーザ名です.
たぶん鈍くさい方法です.スマートなやり方をご存知でしたら,どなたかご教示ください.
*1:教育的配慮,というよりは,大学院のゼミが迫っていたので,データベースを作る権限を与えた上で「放り投げた」ものです.