RDB:DBサーバーへのデータインポート(PostgreSQL)
ここでは既存のPostgreSQLデータベースからニフクラRDBのデータベースに、pg_restoreコマンドを利用してデータをインポートする手順を説明します。
コマンドライン
エクスポート
下記のコマンドを実行
testという既存のPostgreSQLデータベースをエクスポートするコマンドです。
「-Fc」はPostgreSQL専用のフォーマット形式でダンプできるオプションとなります。
pg_dumpのバージョンがニフクラRDBのPostgreSQLと同じバージョンである必要がございます。
pg_dump -h XXX.XXX.XXX.XXX(既存のDBサーバーのIPアドレス) -U mymasteruser test -p 5432 -f testdb.dump -Fc
インポート
下記のコマンドを実行
pg_restore -h XXX.XXX.XXX.XXX(ニフクラRDBのDBサーバーのIPアドレス) -U mymasteruser -d test -p 5432 -Fc -c testdb.dump
ニフクラRDB上のtestというデータベースに移行するコマンドです。
ニフクラRDB上には、postgresというユーザが存在しないため下記のような警告が表示されますが、データ自体のインポートは完了しております。
pg_restore: [アーカイバ(db)] TOCエントリ5; 2615 2200 SCHEMA public postgresのエラーです
pg_restore: [アーカイバ(db)] could not execute query: ERROR: must be owner of schema public
コマンド: DROP SCHEMA public;
pg_restore: [アーカイバ(db)] could not execute query: ERROR: schema "public" already exists
コマンド: CREATE SCHEMA public;
pg_restore: [アーカイバ(db)] could not execute query: ERROR: must be owner of schema public
コマンド: ALTER SCHEMA public OWNER TO postgres;
pg_restore: [アーカイバ(db)] TOCエントリ2800; 0 0 COMMENT SCHEMA public postgresのエラーです
pg_restore: [アーカイバ(db)] could not execute query: ERROR: must be owner of schema public
コマンド: COMMENT ON SCHEMA public IS 'standard public schema';
pg_restore: [アーカイバ(db)] TOCエントリ2802; 0 0 COMMENT EXTENSION plpgsql のエラーです
pg_restore: [アーカイバ(db)] could not execute query: ERROR: must be owner of extension plpgsql
コマンド: COMMENT ON EXTENSION plpgsql IS 'PL/pgSQL procedural language';
pg_restore: WARNING: no privileges could be revoked for "public"
pg_restore: WARNING: no privileges could be revoked for "public"
pg_restore: WARNING: no privileges were granted for "public"
pg_restore: WARNING: no privileges were granted for "public"
警告: リストアにてエラーを無視しました: 6