A través de psql, que viene con postgresql
$dburl="postgresql://exusername:[email protected]:5432/postgres"
$data="select * from extable" | psql --csv $dburl | ConvertFrom-Csv
Debe tener psql en su ruta o hacer referencia a él, está dentro, p. C:\Archivos de programa\PostgreSQL\12\bin. Debería poder escribir "psql" y ver el resultado dentro de PowerShell.
Como advertencia, espere cadenas. Por ejemplo, $data[0].age.GetType() sería una cadena, a pesar de estar almacenada en la base de datos como un número entero. Puede lanzarlo inmediatamente, lanzarlo más tarde o esperar que PowerShell infiera el tipo correctamente.
Si desea volver a agregar información de tipo, puede hacer, por ejemplo:
$data = $data | %{[pscustomobject]@{name=$_.name;age=[int]$_.age}}