くわこのpermission denied.

WEBエンジニアの僕がぶつかった技術的な問題や発見

開発サーバーのテーブルを別サーバーのDBに突っ込むまでに調べたこと

久々にこういうコマンド触ったので忘れないようにメモ

まずは開発サーバのPostgreSQLのテーブルを抜き取るのにpg_dumpを調べ直しました。

https://www.postgresql.jp/document/9.2/html/app-pgdump.html

pg_dump -t [tabel_name] -U[user_name] [database_name] > hogehoge.sql

pg_dump: サーババージョン: 9.3.4、pg_dump バージョン: 8.4.20
pg_dump: サーババージョンの不整合のため処理を中断しています

なん...だと...
pg_dumpコマンドのバージョンが古いらしい。
先輩に聞いたら/usr/pgsql-9.3/bin/pg_dump を使えとのことだったので

/usr/pgsql-9.3/bin/pg_dump -t [tabel_name] -U[user_name] [database_name] > hogehoge.sql


これで一段落

次にsftpコマンドでファイルをローカルに持ってくる → 別サーバーにアップする。

↓ 参考
Linuxコマンド【 sftp 】安全なファイル転送 - Linux入門 - Webkaru

ローカルに戻って

sftp [user_name]@[server_name]

get hogehoge.sql

quit

で持ってきて、アップロード

sftp [user_name]@[another_server_name]

put hogehoge.sql

quit


別サーバ入って

psql -f hogehoge.sql -U [user_name] [database_name]

で完了。

こういうの久々にやると各コマンドのオプションとか完全に忘れてますよね。