sql >> データベース >  >> RDS >> PostgreSQL

パスワードが指定されていません/位置パラメータが見つかりませんPostgreSQL-Powershell

    SET Set-Variableのエイリアスです 、ただし、Powershell変数は環境変数ではありません。環境変数を設定するには、$env:を使用する必要があります 範囲。試してみてください:

    $env:PGPASSWORD = 'myPwd';
    

    こちら も参照してください。 環境変数の詳細については。

    また、PowerShellのようにコマンドラインに生の入力を入れることで逃げることはできないと思います。物事を別々のコマンドとして扱うと思いますが、間違っている可能性があります。

    コマンドスイッチ(-c)を使用することもできます )およびPowerShellはシンボルの解析を停止します(--% )PowerShellがコマンド文字列を解析しないようにpsqlを呼び出す場合:

    .\psql --% -U postgres -w MyDatabase -c "copy {'SELECT * FROM table';} TO 'C:\Users\e\Desktop\test1.csv' CSV DELIMITER ',';"
    

    または、コマンドをヒア文字列を使用して変数に設定し、それをpsqlにパイプします:

    $query = @'
    copy {'SELECT * FROM table';} TO 'C:\Users\e\Desktop\test1.csv' CSV DELIMITER ',';
    '@
    $query | .\psql -U postgres -w MyDatabase
    

    または、実行可能ファイルを呼び出す他の約12の方法。




    1. 2つのタイムスタンプの中間点を見つけるPostgreSQL

    2. MySQLデータベースから今日/昨日のデータを取得するにはどうすればよいですか?

    3. データベースの効率/構造の問題

    4. PostgreSQLのパラメータ化されたOrderBy/ Limit in table function