При отсутствии драйвера клиента на всех, вы можете просто выполнить команду psql
командной строки затем считывать и обрабатывать его выход. Это особенно полезно при вызове psql -qAt
и/или с использованием \copy
.
В противном случае у вас должен иметь своего рода клиентский драйвер. Powershell не имеет встроенного кода поддержки для протокола PostgreSQL, поэтому не может связываться с PostgreSQL без какого-либо клиентского драйвера. nPgSQL был бы самым очевидным выбором, так как он хорошо интегрируется в .NET и состоит только из сборников .NET. Вероятно, вы можете связать nPgSQL с расширением Powershell ... но as usual, someone already did that.
В противном случае вы, вероятно, захотите установить psqlODBC, который является простым msiexec
для установки затем usable using the usual ODBC support.
(Единственная причина, по которой Powershell может разговаривать с MS SQL без установки дополнительных драйверов, заключается в том, что драйверы для MS SQL встроены).
То, что я пытаюсь достичь, - это просто проверить пользователя/пароль для доступа к базе данных. Все, что мне нужно знать, это то, может ли пользователь подключаться к БД. Но мне нужно сделать это автоматически через PowerShell. Есть идеи? –
Я думаю, что рекомендовал бы Npgsql над ODBC. –