[解決済み] ポストグレス \コピー構文
質問
CentOS 7上のPostgreSQL 9.5で、PostgreSQL 9.5という名前のデータベースを作成しました。
sample
といくつかのテーブルがあります。 私は
.csv
のデータを
/home/MyUser/data
を各テーブルに配置します。
例えば
TableName.csv
に対して、テーブル
"TableName"
.
csvファイルを各テーブルに読み込むにはどうすればよいですか?
試したことがうまくいかず、何が間違っているのかがわかりません。
DB内部から読み込む
$ psql sample
sample=# COPY "TableName" FROM '/home/MyUser/data/TableName.csv' WITH CSV;
ERROR: could not open file "/home/MyUser/data/TableName.csv" for reading: Permission denied
これは、ファイルのパーミッションに問題があることを示唆しています。 のすべてのファイルが
data/
は
-rw-r--r--
で、ディレクトリそのものは
drwxr-xr-x
. ですから、ファイルのパーミッションは問題ではないはずです(私が何かを見逃していない限り)。 インターネットでは
COPY
はパーミッションに問題があるので、試しに
\copy
.
CLIから読み込む
$ psql \copy sample FROM /home/MyUser/data/TableName.csv WITH CSV
psql: warning: extra command-line argument "FROM" ignored
psql: warning: extra command-line argument "/home/MyUser/data/TableName.csv" ignored
psql: warning: extra command-line argument "WITH" ignored
psql: warning: extra command-line argument "CSV" ignored
psql: FATAL: Peer authentication failed for user "sample"
これは構文エラーのようですが、ドキュメントが特に役に立ちません(
man psql
では
/\copy
). また、以下のようにしても同じ結果になりました。
$ psql \copy sample."TableName" FROM /home/MyUser/data/TableName.csv WITH CSV
$ psql \copy sample FROM /home/MyUser/data/TableName.csv WITH DELIMITER ','
他にもいくつかの順列があり、同様のエラーが発生します。
使用するWebリソース
解決方法は?
パーミッションについて。
ファイルにアクセスするには、以下のパーミッションが必要なことをお忘れなく。
すべて
ディレクトリを指定します。ですから、例えば、OSのユーザー
postgres
に対するパーミッションを持っていません。
/home/MyUser
ディレクトリに移動すると、観察されたエラーメッセージが表示されます。
について
\copy
:
を使用する必要があります。
-c
オプションでコマンドを
psql
:
$ psql -c "\copy sample FROM '/home/MyUser/data/TableName.csv' WITH (FORMAT CSV)"
関連
-
[解決済み] PostgreSQLでDATE Differenceを計算する方法は?
-
[解決済み] postgres がサーバー構成の場所を知らない
-
[解決済み] libpqのソースはどこで手に入りますか?
-
[解決済み] PostgreSQLのプロセスが "Idle in transaction "である場合、どのような意味がありますか?
-
[解決済み] エラーが発生しました。pgsqlをrailsで動作させようとすると、Peer authentication failed for user "postgres" と表示されます。
-
[解決済み] PostgreSQLでデータベースのコピーを作成する
-
[解決済み] postgres: ユーザーをスーパーユーザーにアップグレードしますか?
-
[解決済み] 'ユーザー "postgres" のパスワード認証に失敗しました'
-
[解決済み】最後に挿入されたIDを取得するPostgreSQL関数
-
[解決済み] [Solved] "on delete cascade "制約を追加する方法は?
最新
-
nginxです。[emerg] 0.0.0.0:80 への bind() に失敗しました (98: アドレスは既に使用中です)
-
htmlページでギリシャ文字を使うには
-
ピュアhtml+cssでの要素読み込み効果
-
純粋なhtml + cssで五輪を実現するサンプルコード
-
ナビゲーションバー・ドロップダウンメニューのHTML+CSSサンプルコード
-
タイピング効果を実現するピュアhtml+css
-
htmlの選択ボックスのプレースホルダー作成に関する質問
-
html css3 伸縮しない 画像表示効果
-
トップナビゲーションバーメニュー作成用HTML+CSS
-
html+css 実装 サイバーパンク風ボタン
おすすめ
-
[解決済み] オペレーショナルエラーです。ERROR: pgbouncerはサーバーに接続できません。
-
[解決済み] Postgresqlの再起動方法
-
[解決済み] postgres がサーバー構成の場所を知らない
-
[解決済み] postgresqlでクエリから最小値、中央値、最大値を取得するにはどうすればよいですか?
-
[解決済み】PostgreSQLのエラーです。Fatal: ロール "username" が存在しません。
-
[解決済み】psqlを使用して、データベースにインストールされている拡張機能を一覧表示するにはどうすればよいですか?
-
[解決済み】Postgresのインストール時に入力したパスワードを忘れてしまいました。
-
[解決済み】なぜPostgreSQLのようなデータベース上でRabbitMQのようなメッセージブローカーが必要なのでしょうか?
-
[解決済み】psql: FATAL: ユーザー "dev" のピア認証に失敗しました。
-
[解決済み】PostgreSQLでUTCの現在時刻をデフォルト値として使用する。