Re: 問題ID: 34630

この質問の投稿一覧へ

なし Re: 問題ID: 34630

msg# 1.1
depth:
1
前の投稿 - 次の投稿 | 親投稿 - 子投稿なし | 投稿日時 2020-5-6 9:29
arashi1977  長老 居住地: 広島  投稿数: 1715
引用:
copy文における「サーバー側」、「クライエント」の定義が分かりません。
「copy文における」というのが誤解の元だと思います。

ここで言うサーバは「PostgreSQLのデータベースプロセス」のことです。
また、クライアントはpsqlコマンドのことです。ただし、psqlコマンドはサーバが動作しているマシン上でも外部の別のマシン上でもどちらでも実行できます。fujii0401 さんのおっしゃっている
引用:
例えばteratermなんかで接続をして\qコマンドを実行してサーバーホストにデータをテキストで落とすことを想定
これは前者の話だけです( \q コマンドってpsqlを終了させるコマンドのはずですが…)。teratermで接続しているというのは(おそらく)「PostgreSQLのデータベースプロセスが動作しているサーバに接続して、サーバ上でpsqlコマンドを実行する」ということを想定されているのだと読み取りました。

ですが外部のマシンで実行している場合は「サーバ側にCSV形式でファイルを出力」させるには「 \copy」コマンド(psqlに仕事させる=必ずしもサーバマシンに出力されるわけではない)ではだめで、PostgreSQLのデータベースプロセスに出力処理を実行させる「COPY」コマンドじゃないとだめなんですね。

投稿ツリー

  >フォーラム検索へ


Copyright (c) 2020 Ping-t All rights reserved.