ソフトウェア開発者の日常

こだわりなく書きたいことを書いていきます。

PostgreSQLでデータのコピー作業をするなら、Accessを使うのが便利です

先日、テスト環境に本番データをコピーして、コピーしたデータを改変してテストをしなくてはならなくなりました。

PostgreSQLでは、PgAdmin III というツールを使えば、GUIで操作できるので、テスト環境と本番環境のデータベースの街頭のテーブルを開いてコピーを始めました。

コピーを始めて最初は、レコード数/カラム数とも少なかったので、1データ毎コピーしていましたが、文字列のデータをコピーして貼り付けると、「"(ダブルクオーテーション)」で括られてしまうので、削除するのが面倒でした。

1テーブルが終わって次のテーブルを開くと、20レコード分はコピーしなければならず、「"(ダブルクオーテーション)」で括られてしまう対処もあって、手作業では時間がかかりすぎます。

時間節約のためにAccessを利用

Accessのリンクテーブルを使って、直接コピーするか、一旦Excelに保存してから再度コピーしなおすの、どちらかの方が、設定作業も含めて速いのではないかと思いつき、早速準備を始めました。

準備といっても簡単で、パソコンのODBCの設定に、テスト環境と本番環境への接続を作成して、Accessからリンクテーブルの接続先に、作成したODBCの設定を指定して、テーブルを選ぶだけです。

コピーするテーブルは、1カラムだけSerial型のためコピーしたくなかったので、リンクテーブル上でカラムを非表示にしてからコピーして、追加貼り付けをしたら、テスト環境にデータが追加されました。

この後他のテーブルも同様にして、無事テストデータの作成ができました。


Accessはデータベース操作のフロントエンドとしても使えるので、便利に使い分けて効率アップを図らないといけないですね。

PostgreSQL: The world's most advanced open source database