sql >> Databáze >  >> RDS >> PostgreSQL

Nebylo zadáno žádné heslo / poziční parametr nebyl nalezen PostgreSQL - Powershell

SET je alias pro Set-Variable , ale proměnné Powershell nejsou proměnné prostředí. Chcete-li nastavit proměnnou prostředí, musíte použít $env: rozsah. Zkuste:

$env:PGPASSWORD = 'myPwd';

Viz také zde pro více informací o proměnných prostředí.

Také si nemyslím, že vám projde vkládání raw vstupu na příkazový řádek, jako je to v PowerShellu. Myslím, že to bude považovat věci za samostatné příkazy, ale mohu se mýlit.

Můžete také použít přepínač příkazů (-c ) a symbol zastavení analýzy prostředí PowerShell (--% ), když zavoláte psql, abyste zabránili PowerShellu analyzovat váš příkazový řetězec:

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

Nebo nastavte příkazy na proměnnou s zde-řetězci a roura na psql:

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

Nebo asi tucet dalších způsobů, jak zavolat spustitelný soubor.




  1. Jak zobrazit řádky v balíčcích po třech v MySQL

  2. Jak mapovat pole PostgreSQL pomocí Hibernate

  3. ClassNotFoundException s PostgreSQL a JDBC

  4. sql group pouze po řádcích, které jsou za sebou