postgresqlに付属しているpsql経由
$dburl="postgresql://exusername:[email protected]:5432/postgres"
$data="select * from extable" | psql --csv $dburl | ConvertFrom-Csv
パスにpsqlを含めるか、参照する必要があります。 C:\ Program Files \ PostgreSQL \ 12\bin。 「psql」と入力して、PowerShell内の出力を確認できる必要があります。
警告として、文字列を期待してください。たとえば、$ data [0] .age.GetType()は、データベースに整数として格納されているにもかかわらず、文字列になります。すぐにキャストするか、後でキャストするか、PowerShellがタイプを正しく推測することを期待できます。
タイプ情報を追加し直す場合は、次のように実行できます。
$data = $data | %{[pscustomobject]@{name=$_.name;age=[int]$_.age}}