【PostgreSQL】サーバー移転を行おうと思います。PostgreSQLを利用したシステムを持っているのですが、データベースの移行に苦戦しています。


移行前サーバー:管理パネルからDBデータのバックアップが取れます。ただし、バックアップデータの形式が「Copy "テーブル名" (カラム名,カラム名 ....) FROM stdin;...といった型で出されています。
下記URLにあるような形式です。
http://www.postgresql.jp/document/pg721doc/reference/sql-copy.html

移行先サーバー:phpPgAdminが利用できます。


phpPgAdminのクエリ実行機能で、単純にダンプしたデータを貼り付けて試してみたのですが、エラーが出ます。
Copy~構文がphpのクエリ送信に対して対応していないのかな?と思っているのですが、あまり知識がない為確定できていません。

現状のCopy~のダンプデータを、うまくphpPgAdminで移行する方法はありませんでしょうか?

回答の条件
  • 1人3回まで
  • 登録:
  • 終了:2009/07/28 11:06:59
※ 有料アンケート・ポイント付き質問機能は2023年2月28日に終了しました。

ベストアンサー

id:pahoo No.1

回答回数5960ベストアンサー獲得回数633

ポイント60pt

できません。


ご質問にあるのは SQL の COPY ステートメントではなく、psql の copy コマンドであるためです。

移行先のシステムで、psql ログインできることが必要条件です。ご確認ください。

id:res01

ご回答ありがとうございます。

psqlログインが可能なサーバーでしたのでそちらで対応し、無事にデータの移動が完了しました。

ありがとうございました。

2009/07/28 11:04:20
  • id:kn1967
    phpPgAdmin は使っていないので、コメント欄。

    copy from は「既存のテーブルに読み込む」ので、
    新しい環境のほうにテーブルを作成してから実施するという流れになりますが、
    テーブルを事前に作成せずに流し込もうとしてるような気がします。

    具体的には何が起こったか(あるいは起こらなかったか)については
    phpのログとPostgrSQLのログを見れば一発のように思いますが・・・。

    PostgreSQLはメジャー番号によって管理方法が異なる場合もありますから、
    旧環境と新環境のバージョンは明記しておくほうがよろしいでしょう。
    7.2.3と7.3.xでも違いがあります。8.x以降にする場合でも違いがあります。
    http://www.postgresql.jp/document/pg732doc/admin/install-upgrading.html
  • id:res01
    ご回答ありがとうございます。
    構文エラーであることはわかっていたのですが、Copy~がSQL文だと思い込んでいたことが詰まった原因でした。
    お蔭様で解決できました。ありがとうございました。

この質問への反応(ブックマークコメント)

「あの人に答えてほしい」「この質問はあの人が答えられそう」というときに、回答リクエストを送ってみてましょう。

これ以上回答リクエストを送信することはできません。制限について

回答リクエストを送信したユーザーはいません