Via psql, dat bij postgresql wordt geleverd
$dburl="postgresql://exusername:[email protected]:5432/postgres"
$data="select * from extable" | psql --csv $dburl | ConvertFrom-Csv
Je moet psql in je pad hebben of ernaar verwijzen, het is b.v. C:\Program Files\PostgreSQL\12\bin. Zou in staat moeten zijn om "psql" te typen en de uitvoer in powershell te zien.
Als waarschuwing kun je strings verwachten. Bijvoorbeeld $data[0].age.GetType() zou een string zijn, ondanks dat het in de database is opgeslagen als een geheel getal. Je kunt het onmiddellijk casten, later casten of hopen dat powershell het type correct afleidt.
Als u weer typegegevens wilt toevoegen, kunt u bijvoorbeeld:
$data = $data | %{[pscustomobject]@{name=$_.name;age=[int]$_.age}}