PostgreSQL
 sql >> база данни >  >> RDS >> PostgreSQL

Извличане на данни от PostgreSQL с помощта на Powershell

Чрез psql, който идва с postgresql

$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}}


  1. Database
  2.   
  3. Mysql
  4.   
  5. Oracle
  6.   
  7. Sqlserver
  8.   
  9. PostgreSQL
  10.   
  11. Access
  12.   
  13. SQLite
  14.   
  15. MariaDB
  1. Защо не мога да използвам псевдоними на колони в следващия израз SELECT?

  2. Защо не мога да използвам променлива в команда с обратна наклонена черта на postgres (\COPY)

  3. Някой имал ли е успех с използването на конкретен локал за база данни на PostgreSQL, така че сравнението на текст да не прави разлика между главни и малки букви?

  4. функцията връща множество колони като една колона вместо множество колони

  5. Postgres now() Timestamp не се променя, когато скриптът работи