psqlを使ってSQL結果をcsvファイルに出力したい
- 評価
- クリップ 0
- VIEW 3,291
掲題の通り、CSV出力したいのですが、
fe_sendauth no password supplied
上記エラーが発生しDBにアクセスできません。
(pgpass.confは設定済みです。)
どこが悪いのか見当がつきかねて困っております。
なにかご指摘などありましたらご教授ください。
該当のソースコード
set C_MEC_DRIVE=C:\
set C_MEC_FOLDER_NAME=AP
set C_MEC_ROOT_DIR=%C_MEC_DRIVE%%C_MEC_FOLDER_NAME%
rem DB接続時の接続先ホスト情報
set C_CONN_HOST=HOST
set C_CONN_PORT=PORT
set C_CONN_INFO=-h %C_CONN_HOST% -p %C_CONN_PORT% -U %C_MEC_USER% -d %C_MEC_DB_NAME% -q -t --no-password
rem スーパーユーザ
set C_SUSER=postgres
set C_MEC_DB_NAME=DBNAME
set C_MEC_USER=USER
rem CSVファイル出力フォルダパス
set C_BATCHLOG_DIR=%~dp0\CSV
rem CSV出力フォルダ作成
if not exist "%C_BATCHLOG_DIR%" (
mkdir %C_BATCHLOG_DIR%
)
rem 遅延環境変数にて対応
setlocal ENABLEDELAYEDEXPANSION
rem SQLファイル数分ループ
for %%i in (SQL\*.sql) do (
set C_BATCHLOG_FILE=%%i
set C_BATCHLOG_FILE=!C_BATCHLOG_FILE:~4,-4!
(psql %C_CONN_INFO% -f %~dp0\%%i -A -F, >> %C_BATCHLOG_DIR%\!C_BATCHLOG_FILE!_%date:~-10,4%%date:~-5,2%%date:~-2,2%.csv)
)
endlocal
よろしくお願いします。
-
気になる質問をクリップする
クリップした質問は、後からいつでもマイページで確認できます。
またクリップした質問に回答があった際、通知やメールを受け取ることができます。
クリップを取り消します
-
良い質問の評価を上げる
以下のような質問は評価を上げましょう
- 質問内容が明確
- 自分も答えを知りたい
- 質問者以外のユーザにも役立つ
評価が高い質問は、TOPページの「注目」タブのフィードに表示されやすくなります。
質問の評価を上げたことを取り消します
-
評価を下げられる数の上限に達しました
評価を下げることができません
- 1日5回まで評価を下げられます
- 1日に1ユーザに対して2回まで評価を下げられます
質問の評価を下げる
teratailでは下記のような質問を「具体的に困っていることがない質問」、「サイトポリシーに違反する質問」と定義し、推奨していません。
- プログラミングに関係のない質問
- やってほしいことだけを記載した丸投げの質問
- 問題・課題が含まれていない質問
- 意図的に内容が抹消された質問
- 過去に投稿した質問と同じ内容の質問
- 広告と受け取られるような投稿
評価が下がると、TOPページの「アクティブ」「注目」タブのフィードに表示されにくくなります。
質問の評価を下げたことを取り消します
この機能は開放されていません
評価を下げる条件を満たしてません
質問の評価を下げる機能の利用条件
この機能を利用するためには、以下の事項を行う必要があります。
- 質問回答など一定の行動
-
メールアドレスの認証
メールアドレスの認証
-
質問評価に関するヘルプページの閲覧
質問評価に関するヘルプページの閲覧
checkベストアンサー
+1
環境設定をもう一度確認してみてください。
PostgreSQLが使う環境変数が足りていない可能性があります。
Windowsでのパスワードファイルの置き場所は%APPDATA%\postgresql\pgpass.conf
となっていますが、
その箇所に適切にファイルが置かれていて、書式も正しいかどうかを検証してください。
参考:31.15. パスワードファイル
http://www.postgresql.jp/document/9.5/html/libpq-pgpass.html
下記、以前の回答:
psql上などでクエリー結果をCSV出力するのに、SQL文としてのCOPY文か、
psql内メタコマンドの\copyコマンドがあります。
COPY select文などのクエリー TO '出力先ファイル名' FORMAT CSV FORCE_QUOTE * ENCODING UTF8
みたいな感じでしょうか?
参考:COPY
http://www.postgresql.jp/document/9.5/html/sql-copy.html
投稿
-
回答の評価を上げる
以下のような回答は評価を上げましょう
- 正しい回答
- わかりやすい回答
- ためになる回答
評価が高い回答ほどページの上位に表示されます。
-
回答の評価を下げる
下記のような回答は推奨されていません。
- 間違っている回答
- 質問の回答になっていない投稿
- スパムや攻撃的な表現を用いた投稿
評価を下げる際はその理由を明確に伝え、適切な回答に修正してもらいましょう。
0
パスワードを省略しない形で、コマンドを作成しなおしました。
ご回答感謝します。
今後ともよろしくお願いします。
投稿
-
回答の評価を上げる
以下のような回答は評価を上げましょう
- 正しい回答
- わかりやすい回答
- ためになる回答
評価が高い回答ほどページの上位に表示されます。
-
回答の評価を下げる
下記のような回答は推奨されていません。
- 間違っている回答
- 質問の回答になっていない投稿
- スパムや攻撃的な表現を用いた投稿
評価を下げる際はその理由を明確に伝え、適切な回答に修正してもらいましょう。
15分調べてもわからないことは、teratailで質問しよう!
- ただいまの回答率 88.31%
- 質問をまとめることで、思考を整理して素早く解決
- テンプレート機能で、簡単に質問をまとめられる
質問への追記・修正、ベストアンサー選択の依頼
m6u
2016/05/23 20:32
質問用テンプレートに適切に情報を当てはめて質問内容を完成していただきたいです。不要な箇所は省いても良いと思います。
iguchi0928
2016/05/23 21:07
不完全な状態で投稿してしまい申し訳ないです。
更新いたしましたので、もう一度ご覧いただけたら幸いです。