Имя psql не распознано как имя командлета
Перейти к содержимому

Имя psql не распознано как имя командлета

  • автор:

Работа через консоль с PostgreSQL

Установил себе PostgreSQL . Хочу создать базу данных, в консоли пишу createdb bookstore , выдает ошибку createdb : Имя «createdb» не распознано как имя командлета, функции, файла сценария или выполняемой программы. Проверьте правильность написания имени, а также наличие и правильность пути, после чего повторите попытку. . Погуглил и нашел только что createdb команда будет доступна после установки PostgreSQL на вашем компьютере. Но я установил же PostgreSQL , в чем может быть проблема?

Отслеживать

задан 29 янв 2019 в 15:37

852 1 1 золотой знак 8 8 серебряных знаков 25 25 бронзовых знаков

Какая у вас операционная система?

29 янв 2019 в 15:40

У меня установлена Windows

29 янв 2019 в 15:45

Тогда вам надо либо полностью указывать путь к createdb — C:\Program Files\PostgreSQL\bin\createdb.exe (или куда у вас там именно установлена СУБД), либо добавить подкаталог bin каталога установки СУБД в переменную окружения PATH .

29 янв 2019 в 15:47

Как второй вариант реализовать? Можно инструкцию, или своими словами

Подключение к источнику данных PostgreSQL (мастер импорта и экспорта SQL Server)

В этом разделе показано, как подключаться к источникам данных PostgreSQL со страницы Выбор источника данных или Выбор назначения в мастере импорта и экспорта SQL Server.

Подробные требования и необходимые условия для подключения к базе данных PostgreSQL выходят за рамки этой статьи Майкрософт. В ней предполагается, что у вас уже установлено клиентское программное обеспечение PostgreSQL и вы можете успешно подключиться к целевой базе данных PostgreSQL. Для получения дополнительных сведений обратитесь к администратору базы данных PostgreSQL или к документации по PostgreSQL.

Получение драйвера ODBC для PostgreSQL

Установка драйвера ODBC с помощью построителя стека

Запустите построитель стека, чтобы добавить драйвер ODBC для PostgreSQL (psqlODBC) в вашу установку PostgreSQL.

Установка ODBC для PostgreSQL с помощью построителя стека

Скачивание последней версии драйвера ODBC

Или скачайте установщик Windows для последней версии драйвера ODBC для PostgreSQL (psqlODBC) прямо с этого FTP-сайта — https://www.postgresql.org/ftp/odbc/versions/msi/. Извлеките содержимое ZIP-файла и запустите файл MSI.

Подключение к PostgreSQL с помощью драйвера ODBC для PostgreSQL (psqlODBC)

Драйверы ODBC не приводятся в раскрывающемся списке источников данных. Чтобы подключиться с помощью драйвера ODBC, сначала выберите поставщик данных .NET Framework для ODBC в качестве источника данных на странице Выбор источника данных или Выбор назначения. Этот поставщик служит оболочкой для драйвера ODBC.

Ниже показан экран, который появляется сразу после выбора поставщика данных .NET Framework для ODBC.

Подключение к PostgreSQL с помощью ODBC ранее

Указываемые параметры (драйвер ODBC для PostgreSQL)

Параметры подключения для этого поставщика данных и драйвера ODBC одинаковы независимо от того, является ли PostgreSQL источником или назначением. Таким образом, на страницах Выбор источника данных и Выбор назначения мастера отображаются одинаковые параметры.

Чтобы подключиться к PostgreSQL с помощью драйвера ODBC для PostgreSQL, соберите строку подключения, используя указанные ниже параметры и их значения. Полный формат строки подключения приведен после списка параметров.

Вы можете получить помощь в построении строки подключения. Кроме того, вместо указания строки подключения вы можете предоставить существующее имя DSN (имя источника данных) или создать новое. Дополнительные сведения об этих возможностях см. в разделе Подключение к источнику данных ODBC.

Драйвер
Имя драйвера ODBC — PostgreSQL ODBC Driver(UNICODE) или PostgreSQL ODBC Driver(ANSI).

Server
Имя сервера PostgreSQL.

порт.
Порт, используемый для подключения к серверу PostgreSQL.

База данных
Имя базы данных PostgreSQL.

Uid и Pwd
Uid (идентификатор пользователя) и Pwd (пароль) для подключения.

Формат строки подключения

Ниже приведен формат типичной строки подключения.

Driver=;Server=;Port=;Database=;UID=;PWD=

Ввод строки подключения

Введите строку подключения в поле ConnectionString либо введите имя DSN в поле Dsn на странице Выбор источника данных или Выбор назначения. После того как вы введете строку подключения, мастер проанализирует ее и отобразит отдельные свойства и их значения в списке.

В приведенном ниже примере используется следующая строка подключения:

Driver=;Server=127.0.0.1;Port=5432;Database=postgres;UID=postgres;PWD=******** 

Ниже показан экран, который появляется после ввода строки подключения.

Подключение к PostgreSQL с помощью ODBC

Другие поставщики данных и дополнительные сведения

Сведения о подключении к PostgreSQL с помощью поставщика данных, не представленного в этом списке, см. в разделе Строки подключения PostgreSQL. Этот сторонний сайт также содержит дополнительные сведения о поставщиках данных и параметрах подключения, описанных на этой странице.

How to start psql.exe

I’m new to PostgreSQL (pg). I understand that in order to interact with pg, I must use psql.exe. In my system, I find psql.exe not once, but twice, why? ( C:\Program Files (x86)\pgAdmin 4\v2\runtime\psql.exe and C:\Program Files\PostgreSQL\10\bin\psql.exe ). I tried both, with identical (negative) results. In line with Q/A In PostgreSQL why does command line window disappear when I press Enter after entering my password?, now, instead of running psql.exe directly, I first opened a generic (Windows) command window and then ran psql.exe from within this generic command window; I then entered the password and hit Enter . In the generic (Windows) command window, I now got the message:

psql: could not connect to server: Permission denied (0x0000271D/10013)
Is the server running on host «localhost» (::1) and accepting TCP/IP connections on port 5432? FATAL: password authentication failed for user «User»

This corresponds to the problem described (but not resolved) in the Q/A cited above. Other threads in this forum regarding pg password fails concern Linux / outdated passwords / new passwords after password changes. It’s said in other threads here re this question that in Windows, there is a file pgpass.conf . I find a help file libpq-pgpass.html which also says that, while on my system, there is no such file pgpass.conf (or anything else with «pgpass» except for the aforementioned html file). (W10 Prof 64 bit English) Second strategy: Within the Start menu, there is an entry «PostgreSQL»; under that — available by Enter — there is a sub-entry «SQL Shell (psql)»; so I tried that. From there only, I get the Windows cmd window, with «psql 10.1» and with (in [] it’s obviously the default values):

Server [localhost]: I enter localhost; Database [postgres]: I enter postgres; Port [5432]: I enter 5432; Username [postgres]: I enter postgres; Password for user postgres: I enter the password which is "a". 

From there, I get a warning re the Console code page which differs from Windows code page, but I then get the psql prompt

postgres=# 

and which works. On the other hand, with the first strategy above, I only get «Password:» and then, after entry of the real password (which is «a»), the «FATAL» error «password authentication failed for user «A»». Upon installation, I had created a superuser «postgres» with password «a», not a user «A»; on the other hand, I am user «A» which is my Windows admin (!) account (no other users than myself on my pc) and the cmd prompt I usually get («C:\Users\A>»); (but as expected,) no different result if I enter the whole path to psql.exe from the prompt «C:>». So my problem comes now down to this: When triggered from within the start menu, psql.exe works correctly since it asks me all the questions I can then answer correctly (as stated above), while when started with its full path from the cmd window (both full paths tried and enclosed in «» of course), it just asks for the «password» and then tells me that for some «user A», that password is wrong. Also, the full path to the (functioning) psql.exe from within the start menu is C:\ProgramData\Microsoft\Windows\Start Menu\Programs\PostgreSQL 10\psql.exe , and if I try to run that from with the cmd window, I get «(path) is not recognized as an internal or external command, operable program or batch file.», since in there, it’s «SQL Shell (psql).lnk», of which the properties are: «Target: «C:\Program Files\PostgreSQL\10\scripts\runpsql.bat»». So this is the solution, see my answer below.

После установки postgreSQL не работает команда «psql»?

После установки postgreSQL не работает команда «psql».
Ввожу psql -V или другие команды для работы с бд, но пишет:
«psql : Имя «psql» не распознано как имя командлета, функции, файла сценария или выполня
емой программы. Проверьте правильность написания имени, а также наличие и правильность
пути, после чего повторите попытку.».
Powershell рекомендует ввести «.\psql»., далее просят ввести пароль юзера. Ввожу пароль и ничего не происходит.
Помогите, пожалуйста.
Программу переустанавливал, в чём может быть проблема? Не смог нагуглить ответ.

  • Вопрос задан 03 авг. 2023
  • 1476 просмотров

Комментировать
Решения вопроса 1

vabka

Токсичный шарпист

1. через cd открой папку, куда установлен psql
2. Попробуй ./psql -V в той папке.
3. Для подключения к базе — попробуй все параметры явно передать (юзернейм, адрес, имя базы)

Ответ написан 03 авг. 2023
Иван Филипов @oprk21fjin3 Автор вопроса

Сработало. То бишь все команды нужно писать через «./psql» , а не «psql», как написано в статьях. Спасибо!

vabka

Иван Филипов, если пропишешь в PATH, то сможешь по нормальному вызывать)
Иван Филипов @oprk21fjin3 Автор вопроса

Василий Банников, а такой вопрос простой, конечно. где про это можно почитать вообще? Точнее, как лучше искать?

Добавить комментарий

Ваш адрес email не будет опубликован. Обязательные поля помечены *