WindowsでPostgreSQLを使う
こんにちは!約半年ぶりのえびしです。
(そんな半年前には何を書いたのかと思ったら、「MacBook Air11インチ欲しい!」のあれでした…)
最近、
PostgreSQLのダンプファイルを元にMySQLにデータを移行する
というお仕事があったのですが、いろいろとつまずいたところがあったため、日記に書いておきます。
Windowsユーザアカウント「postgres」が必要
上記のサイトを参考にさせていただきました。
WindowsでPostgreSQLを使うときは、「postgres」という名のWindowsユーザーアカウントが必要です。
postgresアカウントは、制限ユーザとして作成して、パスワードを設定しておきます。
アカウントができたらインストールを開始します。
Windows用のインストーラはこちらを使いました。
Download PostgreSQL | EnterpriseDB
ウィザードにしたがっていくと、パスワードを入力するところがあります。
これはpostgresアカウントのパスワードを要求しているので、先ほど設定したパスワードを入力します。
postresというアカウントを作っていなかった場合は、ここで好きなパスワードを入力すると、windowsアカウントが自動的に生成されます。
ところが、自動生成されたpostgresは、Windowsの「コントロールパネル>ユーザーアカウント」に表示されません。
よって、アカウントの管理はnet userコマンドを使って行うことになります。
ファイル操作時の注意
postgresは制限ユーザなので、アクセスに制限があります。
そのため、例えばcopyコマンドを使ってファイルを生成しようとするときは、postgresがアクセスできる階層を指定しなければなりません。
MySQL Mygration Toolkit
MySQL :: MySQL GUI Tools Bundle: Archived Downloads
MySQL Mygration ToolkitというMySQLへの変換ツールがあるのですが、
PostgreSQLから変換するときは、うまく変換されない部分多々ありました。
nextval()などのMySQLにはない関数がそのまま残ってしまっていたり…
バージョンの違いでうまくいかない部分もあったりするのでしょうか。ぐぬぬー