レス
元トピ
タイトル
Re: 問題ID: 34630
フォーラム
最強WEB問題集OSS-DB Silver
投稿ユーザ(投稿日)
(2020/5/6)
本文

-----引用(始)-----

copy文における「サーバー側」、「クライエント」の定義が分かりません。

-----引用(終)-----

「copy文における」というのが誤解の元だと思います。

ここで言うサーバは「PostgreSQLのデータベースプロセス」のことです。
また、クライアントはpsqlコマンドのことです。ただし、psqlコマンドはサーバが動作しているマシン上でも外部の別のマシン上でもどちらでも実行できます。fujii0401 さんのおっしゃっている

-----引用(始)-----

例えばteratermなんかで接続をして\qコマンドを実行してサーバーホストにデータをテキストで落とすことを想定

-----引用(終)-----

これは前者の話だけです( \q コマンドってpsqlを終了させるコマンドのはずですが…)。teratermで接続しているというのは(おそらく)「PostgreSQLのデータベースプロセスが動作しているサーバに接続して、サーバ上でpsqlコマンドを実行する」ということを想定されているのだと読み取りました。

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

レス一覧

元トピ


Ping-tモバイルTOP

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