« [WSH] 自IPアドレスの取得 | トップページ | VMware PlayerのDHCPサーバの設定 »

2011年8月24日 (水)

PostgreSQL 8.1から7.3へデータ移行

訳あってPostgreSQL 8.1のデータを7.3へ移行する必要が出た。

ただ、7.3はテスト機なので、適当にトライ&エラーで移行してみた。

8.1でpg_dump

-dオプションを付けて、INSERT文によるダンプ。

pg81$ pg_dump -U postgres -d hogeDb > hogeDb.sql

編集1 - コメントアウト

SET文でエラーが出たので、思い切ってコメントアウト。
影響は不明。

-- SET default_tablespace = '';
-- SET default_with_oids = false;

編集2 - シーケンスの最終値

シーケンスの最終値を設定するSQL文にエラーが出るので、書き換え。

-- SELECT pg_catalog.setval(pg_catalog.pg_get_serial_sequence('hogeTb', 'id'), 50, true);
SELECT pg_catalog.setval ('hogeTb_id_seq', 50, true);

編集3 - regclassは削除

CREATE TABLE文にて、SERIAL型の列だけど、他と違って「DEFAULT nextval ...」ってSQL出力されるテーブルがあった。ここで、regclassって指定されてたけど、エラーが出るので削除。

--    id integer DEFAULT nextval(('public.hogeTb_id_seq'::text)::regclass) NOT NULL,
    id integer DEFAULT nextval('public.hogeTb_id_seq'::text) NOT NULL,

編集4 - シーケンス作成のBY

CREATE SEQUENCE文で、BYなんて知らないとエラーが出たので、CREATE SEQUENCE文を書き換え。

-- CREATE SEQUENCE hogeTb_id_seq
--     INCREMENT BY 1
--     NO MAXVALUE
--     NO MINVALUE
--     CACHE 1;

CREATE SEQUENCE hogeTb_id_seq
    START 1
    INCREMENT 1
    MAXVALUE 9223372036854775807
    MINVALUE 1
    CACHE 1;

7.3にインポート

PostgreSQL 7.3 のマシンで、インポート。
エラーがなければ、成功かも。

pg73$ createdb -U postgres hogeDb
pg73$ psql -U postgres hogeDb < hogeDb.sql >res.txt 2>err.txt

« [WSH] 自IPアドレスの取得 | トップページ | VMware PlayerのDHCPサーバの設定 »

Linux」カテゴリの記事

2021年6月
    1 2 3 4 5
6 7 8 9 10 11 12
13 14 15 16 17 18 19
20 21 22 23 24 25 26
27 28 29 30      

Amazonリンク

ダイビング写真(swf)

ブログ内検索

  • Google
    WWW を検索
    ブログ内を検索

リンク(いつもお世話さま)

  • ソニーストア
     iTunes Store(Japan)
    Just MyShop(ジャストシステム)
    ブックオフオンライン
無料ブログはココログ