
Ошибка «psql не распознано как командлет» возникает в Windows при попытке запустить клиент PostgreSQL через PowerShell или командную строку, если исполняемый файл psql не найден в системной переменной PATH. Чаще всего это связано с тем, что PostgreSQL установлен, но путь к его папке bin не добавлен автоматически.
Для проверки установки откройте каталог, в котором установлен PostgreSQL, и убедитесь, что файл psql.exe присутствует. Обычно путь выглядит как C:\Program Files\PostgreSQL\<версия>\bin. Если файл отсутствует, потребуется переустановить PostgreSQL с включением компонента Command Line Tools.
Если psql установлен, следующим шагом является добавление пути к папке bin в системную переменную PATH. Это позволяет PowerShell распознавать команду psql из любой директории. После внесения изменений переменные окружения необходимо обновить, закрыв и открыв окно PowerShell.
Иногда ошибка возникает из-за конфликтов с другими программами или нескольких версий PostgreSQL. В таких случаях полезно указать полный путь к psql при запуске, чтобы точно использовать нужную версию клиента. Дополнительно рекомендуется проверить права доступа к исполняемому файлу и убедиться, что учетная запись пользователя имеет разрешение на запуск.
Проверка установки PostgreSQL на компьютере

Для начала убедитесь, что PostgreSQL установлен. Откройте Панель управления → Программы и компоненты и найдите PostgreSQL в списке установленных программ. Версия и путь установки будут отображены в свойствах.
Проверьте наличие папки bin внутри директории установки, обычно она находится по пути C:\Program Files\PostgreSQL\<версия>\bin. Внутри этой папки должен находиться файл psql.exe. Отсутствие файла указывает на неполную установку или повреждение компонентов.
Дополнительно можно открыть командную строку и выполнить команду dir «C:\Program Files\PostgreSQL\<версия>\bin\psql.exe». Если система возвращает путь к файлу, установка выполнена корректно. В противном случае потребуется переустановка с выбором опции Command Line Tools.
Если на компьютере установлено несколько версий PostgreSQL, проверьте наличие всех соответствующих папок bin. Это поможет избежать конфликтов при запуске psql и правильной настройке переменной PATH.
Добавление пути к psql в системную переменную PATH
Откройте Панель управления → Система и безопасность → Система и выберите Дополнительные параметры системы. В окне Свойства системы нажмите Переменные среды.
В разделе Системные переменные найдите переменную Path и нажмите Изменить. В открывшемся списке добавьте новый путь к папке bin PostgreSQL, например: C:\Program Files\PostgreSQL\<версия>\bin.
После добавления пути нажмите ОК для сохранения изменений и закройте все окна настройки. Изменения вступят в силу после повторного открытия PowerShell или командной строки.
Проверка правильности командной строки в PowerShell
Для запуска psql в PowerShell необходимо использовать корректный синтаксис команд. Стандартная команда для подключения к базе выглядит так:
| Команда | Описание |
|---|---|
| psql -U <имя_пользователя> -d <имя_базы> | Подключение к базе с указанным пользователем |
| psql —host=<адрес_сервера> -U <имя_пользователя> -d <имя_базы> | Подключение к удаленному серверу PostgreSQL |
| psql -p <порт> -U <имя_пользователя> -d <имя_базы> | Указание нестандартного порта для подключения |
| psql -V | Проверка установленной версии клиента |
Если PowerShell возвращает ошибку, убедитесь, что командная строка не содержит лишних пробелов или символов, особенно при использовании кавычек. Для команд с пробелами в пути используйте двойные кавычки, например: «C:\Program Files\PostgreSQL\<версия>\bin\psql.exe».
При работе с несколькими версиями PostgreSQL рекомендуется всегда указывать полный путь к psql.exe, чтобы избежать конфликтов между разными установками и корректно определить используемую версию.
Использование полного пути к исполняемому файлу psql

Если команда psql не распознается в PowerShell, можно указать полный путь к исполняемому файлу. Обычно путь выглядит как C:\Program Files\PostgreSQL\<версия>\bin\psql.exe.
Для подключения к базе используйте команду с полным путем: «C:\Program Files\PostgreSQL\<версия>\bin\psql.exe» -U <имя_пользователя> -d <имя_базы>. Это позволяет PowerShell выполнить конкретную версию клиента без зависимости от переменной PATH.
Если в пути содержатся пробелы, обязательно заключайте путь в двойные кавычки. Для проверки работы используйте команду «C:\Program Files\PostgreSQL\<версия>\bin\psql.exe» -V, которая должна вернуть номер установленной версии PostgreSQL.
Указание полного пути особенно полезно при наличии нескольких версий PostgreSQL на одном компьютере, так как исключает ошибки выбора неправильной версии и гарантирует доступ к нужным инструментам.
Перезапуск PowerShell после изменения переменных окружения
После добавления пути к psql.exe в системную переменную PATH изменения не применяются автоматически к уже открытым окнам PowerShell. Для корректного распознавания команды необходимо закрыть все открытые окна PowerShell.
Откройте новое окно PowerShell и выполните команду echo $env:Path, чтобы убедиться, что путь к папке bin PostgreSQL присутствует в переменной окружения.
При частом использовании нескольких версий PostgreSQL рекомендуется закрывать и заново открывать PowerShell после каждой корректировки PATH, чтобы избежать конфликтов между разными установками.
Проверка версии psql и исправление конфликтов с другими программами
Для проверки установленной версии psql откройте PowerShell и выполните команду:
Если система не распознает команду, используйте полный путь к исполняемому файлу:
- «C:\Program Files\PostgreSQL\<версия>\bin\psql.exe» -V
Чтобы избежать конфликтов с другими программами или версиями PostgreSQL, выполните следующие шаги:
- Проверьте переменную PATH на наличие путей к другим установкам PostgreSQL. Удалите лишние записи или переместите нужный путь вверх списка.
- Укажите полный путь к psql при запуске, если требуется использовать конкретную версию.
- Закройте все окна PowerShell и откройте новое, чтобы изменения переменной PATH вступили в силу.
- Проверьте, что другие программы не используют переменные окружения, которые могут переопределять путь к psql.
После выполнения этих действий PowerShell должен корректно распознавать команду psql и использовать указанную версию клиента без конфликтов.
Вопрос-ответ:
Почему PowerShell не распознает команду psql после установки PostgreSQL?
Чаще всего это происходит из-за того, что путь к папке bin PostgreSQL не добавлен в системную переменную PATH. Без этой настройки PowerShell не знает, где находится psql.exe. Чтобы исправить, нужно добавить путь к папке C:\Program Files\PostgreSQL<версия>\bin в переменную PATH и перезапустить PowerShell.
Как проверить, установлен ли psql на компьютере?
Откройте Панель управления → Программы и компоненты и найдите PostgreSQL в списке. Затем убедитесь, что в каталоге установки есть папка bin с файлом psql.exe. Дополнительно можно выполнить команду dir «C:\Program Files\PostgreSQL<версия>\bin\psql.exe» для проверки наличия файла.
Что делать, если на компьютере установлено несколько версий PostgreSQL?
Чтобы избежать конфликтов, указывайте полный путь к нужной версии psql при запуске, например: «C:\Program Files\PostgreSQL<версия>\bin\psql.exe». Также проверьте переменную PATH и удалите или переместите записи других версий, чтобы PowerShell использовал правильную.
Почему после изменения PATH PowerShell все еще не распознает psql?
Изменения переменной PATH применяются только к новым сеансам PowerShell. Чтобы команда psql начала работать, закройте все открытые окна PowerShell и откройте новое. После этого выполните psql —version для проверки корректности настройки.
