えびしブログ

〜サーバーは魔法で動いているわけではない〜

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にはない関数がそのまま残ってしまっていたり…
バージョンの違いでうまくいかない部分もあったりするのでしょうか。ぐぬぬー