非常に大きな(約320 GB)PostGISデータベースをserver1(PostgreSQL 9.1、PostGIS 1.5)からserver2(PostgreSQL 9.3、PostGIS 2.1)に移動してアップグレードする必要があります。
アップグレードプロセスは十分に文書化されています。問題は、server1にファイルをダンプしてチェックサムし、それをserver2にコピーして合計を確認するのに十分なスペースがないことです。私は試した:
- を使用して、server1からserver2にダンプをパイピングします
nc
。 - を使用してserver1にマウントされているserver2ファイルシステムに直接ダンプファイルを書き込む。
sshfs
どちらの場合も、ダンプファイルが破損しているようです。pg_restore
このようなエラーで別の場所で壊れました:
pg_restore: [compress_io] could not uncompress data: incorrect data check
誰かがこの移動とアップグレードを完了するためのより良い方法を提案できますか?
更新: NFSを試してみました(そしてSSHFSにもう一度試してみました)。これらのリモートファイルシステムがこれだけのデータを確実に転送できないことは明らかです。結果のSQLファイルから明らかにブロックが欠落しているため、インポート中に次のような構文エラーが発生します。
ERROR: invalid input syntax for integer: "8266UPDATE spatial_ref_sys o set auth_name = n.auth_name, auth_srid = n.auth_srid, srtext = n.srtext, proj4text = n.proj4text FROM _pgis_restore_spatial_ref_sys n WHERE o.srid = n.srid;"