sql >> Database teknologi >  >> RDS >> PostgreSQL

Ingen adgangskode angivet / positionsparameter ikke fundet PostgreSQL - Powershell

SET er et alias for Set-Variable , men Powershell-variabler er ikke miljøvariabler. For at indstille en miljøvariabel skal du bruge $env: omfang. Prøv:

$env:PGPASSWORD = 'myPwd';

Se også her for mere om miljøvariabler.

Jeg tror heller ikke, du kan slippe afsted med at sætte rå input på kommandolinjen sådan i PowerShell. Jeg tror, ​​det vil behandle ting som separate kommandoer, men jeg kan tage fejl.

Du vil måske også bruge kommandoknappen (-c ) og PowerShell stop parsing-symbolet (--% ) når du kalder psql for at forhindre PowerShell i at parse din kommandostreng:

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

Eller indstil kommandoerne til en variabel med here-strenge og rør det til psql:

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

Eller omkring et dusin andre måder at kalde en eksekverbar på.




  1. MySQL:CAST kræver ingen plads før parentes?

  2. Tilføjelse af billede til blob (mysql) via c#

  3. Sådan finder du medianen i sql

  4. MySQL/MariaDB:Opret en pivottabelvisning