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

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

  • автор:

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

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

Отслеживать

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

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

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

29 янв 2019 в 15:40

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

29 янв 2019 в 15:45

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

29 янв 2019 в 15:47

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

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

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

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

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

vabka

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

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

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

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

vabka

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

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

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

Вопрос №22424 от пользователя Станислав Почековский в уроке «Подготовка к работе», курс «Основы реляционных баз данных»

Команда $ sudo -u postgres createuser —createdb hexletbot не работе, пользователь не создается, вообще ни какой реакции. работаю на винде, много модифицировал команду все равно не помогает.

Сработало только так: CREATE USER hexletbot WITH PASSWORD ‘fjshdedaw’ CREATEDB;

Аналогично и создание базы данных: Так сработало: CREATE DATABASE hexlet; так нет: createdb hexlet

Почему обертки не работают а только полноценные команды?

Еще есть вопросы по копированию базы данных, не совсем понял порядок действий:

  1. git clone https://github.com/hexlet-components/pg-dump-example.git
  2. cd pg-dump-example
  3. Открываем Makefile и вводим команды оттуда? db-reset schema-load data-load/ psql hexlet < schema.sql/ psql hexlet < schema.sql/ итд?

Пока результат таков (раз пример):

К сожалению по windows не подскажу. Если есть возможность, работайте с pg на маке или линуксе.

Хорошо. А по этому вопросу

Еще есть вопросы по копированию базы данных, не совсем понял порядок действий: git clone https://github.com/hexlet-components/pg-dump-example.git cd pg-dump-example Открываем Makefile и вводим команды оттуда? db-reset schema-load data-load/ psql hexlet < schema.sql/ psql hexlet < schema.sql/ итд?

Увы работать на линуксе или маке пока нет возможности. Мб сделаете пояснения для работающих на windows а то курс какой то однобокий получается.

Мб сделаете пояснения для работающих на windows а то курс какой то однобокий получается.

Мы изначально, в наших базовых курсах, говорим о том, что полноценная веб-разработка возможна только из под POSIX совместимых операционных системах, и сделали довольно много материала на тему того как их поставить настроить и использовать. Ваш продакшен все равно будет на линуксе.

Открываем Makefile и вводим команды оттуда? db-reset schema-load data-load/ psql hexlet < schema.sql/ psql hexlet < schema.sql/ итд?

https://guides.hexlet.io/ — вот здесь есть множество статей на тему как довести виндовс до линукса например через его подсистему Ubuntu или через вагрант.

Вводим те команды которые написаны в README.md

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

В ридми этого репозитория ровно три строки. Вы их выполнили?

p.s. Если вы хотите чтобы ваш вопрос не потерялся, задавайте его в отдельном топике, этот топик не привязан к вашему менторингу.

Created db hexlet — сделано.

Created role with name of your system user — сделано.

cd pg-dump-example — сделано.

make # look at the Makefile — вот тут уже проблемы. как вводить команды make и далее из файла? или. полное непонимание.

make # look at the Makefile — вот тут уже проблемы. как вводить команды make и далее из файла? или. полное непонимание.

Перед вами и есть команда make , ее надо запустить и все. То что вы видите в ридми, это просто три команды подряд.

Такой результат. $ make # look at the Makefile bash: make: command not found

Какой еще вариант ставить Cygwin только? Мне нужно только чтобы терминале винды были полностью доступны команды linux.

Это значит что не установлен мейк. Его надо установить.

Оу, так вы не проходили наш курс по основам командной строки. Пройдите пожалуйста, станет сильно понятнее. Ну и git bash это не то. Вот тут рекомендации https://guides.hexlet.io/development-on-windows/

Добрый день, на windows нужно установить gnuwin32 — make for windows, потом прописать в PATH (в моем случае — C:\Program Files (x86)\GnuWin32\bin ) и перезапустить консоль. в git-bash работает через make.exe

Спасибо за gnuwin32. Теперь после ввода make такой результат это ок?

$ make # look at the Makefile

dropdb hexlet || true

и все дальше просто ничего не происходит. При закрытии консоли вылетает окно — http://prntscr.com/m8ix3m

Апдейт. в итоге через терминал PowerShell кажется получилось, раз 5 был запрос пароля итд.

Это какие-то виндовые особенности. Лучше конечно поставить ubuntu for windows.

команда postgres «psql» не распознается в среде windows

кажется, я его настроил, у меня есть моя база данных.yml с помощью postgres, и я могу подключить базу данных с pgadmin III, но когда я попытался с помощью команды psql проверить, какая версия, она говорит, что не распознается? Есть идеи, что мне делать?

Я использую windows и использую командную строку с Ruby on Rails. Использование PostgreSQL 9.2, установленного с помощью установщика EnterpriseDB one-click.

4 ответов

предполагая, что вы установили PostgreSQL в Windows с установщиком PostgreSQL «One-click», упакованным EnterpriseDB, psql не добавляется к PATH автоматически. Это отчасти потому, что добавление его в путь может вызвать путаницу, когда у людей установлено несколько версий PostgreSQL.

вам нужно указать полный явный путь к psql , например:

или добавить psql для переменные среды, см. например этот руководство.

Открыть Командную Строку

если на строке выше не отображается версия psql, выполните следующие действия

Откройте командную строку и повторите

это потому, что между ; и ваш путь psql, поэтому он должен быть похож на *****;C:\Program Files\PostgreSQL.2\bin\ .

если есть пробел после ****** ; тогда это не сработает. Вы действительно можете ввести %PATH% в командной строке cmd и посмотреть, как ваша переменная среды и пространство выглядит. Я пробовал оба случая для вас, первый с пространством имел ту же ошибку, о которой Вы упомянули, а второй без пространства работал.

вам нужно установить как bin, так и путь lib в переменной среды PATH, разделенной точкой с запятой:

%PROGRAMFILES\\%\с PostgreSQL 9.2 ОГРН;%PROGRAMFILES%\\с PostgreSQL 9.2\Либ

Не могу установить PostgreSQL на Windows 10?

Я не могу установить PostgreSQL, сделал все по инструкции, уже три раза сносил и заново переустанавливал, инструкция НЕ РАБОТАЕТ, или устарела. Система Windows 10.

Скачал, все есть в папке C:\Program Files\PostgreSQL\10

Все распаковал, все устанивилось, окно закрылось. Дальше сделал по инструкции — открыл командную строку, ввел

setx PATH «%PATH%;C:\Program Files\PostgreSQL\10\bin»

В ответ комп пишет: «Предупреждение. Сохраненные данные будут усечены до 1024 знаков. Успех. Указанное значение сохранено.»

Далее, по инструкции закрыл командую строку, перезагрузился. И. Н-И-Ч-Е-Г-О, в командной строке при попытке ввести хотя бы psql выдается «psql» не является внутренней или внешней командой, исполняемой программой или пакетным файлом.

Ну что еще то надо? Руки опускаются от этих бесконечных инструкций, которые не работают! Помогите, гуру Джанги….

Похожие публикации:

  1. Как подписать оси в диаграмме в ворде
  2. Как разбить текст на две колонки в ворде 2007
  3. Где находятся библиотеки c
  4. Где программировать на си

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

pg_ctl — инициализировать, запустить, остановить или управлять сервером PostgreSQL

Синтаксис

pg_ctl init[db] [ -s ] [ -D каталог_данных ] [ -o параметры-initdb ]

pg_ctl start [ -w ] [ -t секунды ] [ -s ] [ -D каталог_данных ] [ -l имя_файла ] [ -o параметры ] [ -p путь ] [ -c ]

pg_ctl stop [ -W ] [ -t секунды ] [ -s ] [ -D каталог_данных ] [ -m s[mart] | f[ast] | i[mmediate] ]

pg_ctl restart [ -w ] [ -t секунды ] [ -s ] [ -D каталог_данных ] [ -c ] [ -m s[mart] | f[ast] | i[mmediate] ] [ -o параметры ]

pg_ctl reload [ -s ] [ -D каталог_данных ]

pg_ctl status [ -D каталог_данных ]

pg_ctl promote [ -s ] [ -D каталог_данных ]

pg_ctl kill имя_сигнала ид_процесса

pg_ctl register [ -N имя_службы ] [ -U имя_пользователя ] [ -P пароль ] [ -D каталог_данных ] [ -S a[uto] | d[emand] ] [ -w ] [ -t секунды ] [ -s ] [ -o параметры ]

pg_ctl unregister [ -N имя_службы ]

Описание

pg_ctl — это утилита для начальной инициализации, запуска, остановки, повторного запуска и управления кластером баз данных PostgreSQL ( postgres ). Сервер можно стартовать в ручном режиме, но pg_ctl реализует задачи направления вывода в журнал и отсоединения от терминала и группы процессов, а также предоставляет удобный интерфейс остановки кластера.

Для инициализации нового кластера PostgreSQL используются режимы init или initdb . Кластер — это коллекция баз данных под управлением единого сервера. По факту вызывается команда initdb . За подробностями обратитесь к initdb .

Сервер запускается в режиме start . Процесс работает в фоновом режиме, а стандартный ввод связывается с /dev/null (или nul под управлением Windows). По умолчанию в Unix-подобных системах вывод и ошибки сервера пишутся в устройство стандартного вывода (не ошибок) pg_ctl . Вывод pg_ctl следует перенаправить в файл или процесс, например, приложение ротации журналов rotatelogs ; в ином случае postgres будет писать вывод в управляющий терминал (в фоновом режиме) и останется в группе процессов оболочки. В Windows сообщения и ошибки сервера по умолчанию перенаправляются в терминал. Это поведение можно изменить и направить вывод сервера в файл, добавив ключ -l . Мы рекомендуем использовать ключ -l или перенаправлять вывод.

В режиме stop сервер, работающий в указанном каталоге данных, останавливается. Параметр -m позволяет выбрать три различных режима остановки. Режим « Smart » запрещает новые подключения, а затем ожидает отключения всех существующих клиентов и завершения всех текущих процессов резервного копирования. Если сервер работает в режиме горячего резерва, восстановление и потоковая репликация будут прерваны, как только отключатся все клиенты. Режим « Fast » (выбираемый по умолчанию) не ожидает отключения клиентов и завершает все текущие процессы резервного копирования. Все активные транзакции откатываются, а клиенты принудительно отключаются, после чего сервер останавливается. Режим « Immediate » незамедлительно прерывает все серверные процессы, не выполняя процедуру штатной остановки. В результате при следующем запуске будет запущено восстановление после сбоя.

В режиме restart по сути выполняется остановка и последующий запуск сервера. Это позволяет изменить параметры командной строки postgres . Режим restart может не отработать, если при запуске сервера в командной строке задавались относительные пути.

Чтобы перечитать конфигурацию ( postgresql.conf , pg_hba.conf и т. д.), используется reload , при этом процесс postgres получает системный сигнал SIGHUP . Это позволяет применить изменения без полного рестарта сервера.

Чтобы проверить статус кластера, используется status . Если кластер запущен, то будет выведен PID процесса, а также команда с использованными при запуске аргументами. Если кластер остановлен, то процесс вернёт статус завершения 3. Если не указан каталог хранения данных, то процесс вернёт статус завершения 4.

Чтобы перевести резервный сервер в режим главного, используется promote . При этом сервер прекращает работу в режиме восстановления и начинает работать в режиме чтения-записи.

Чтобы послать сигнал процессу, используется kill . Это особенно применимо в среде Microsoft Windows , которая не имеет в оснастке команды kill . Чтобы посмотреть список доступных сигналов, обратитесь к справке —help .

Режим register предназначен для регистрации системной службы в Microsoft Windows . Параметр -S позволяет выбрать тип запуска службы, « auto » (запускать службу автоматически при загрузке системы) или « demand » (запускать службу по требованию).

Чтобы удалить зарегистрированную службу в Microsoft Windows , используется unregister . Эта операция отменяет действие команды register .

Параметры

-c
—core-file

Способствует сбросу дампа памяти процесса при крахе сервера на платформах, где это возможно, поднимая мягкие ограничения, задаваемые для файлов дампа. Это полезно при отладке и диагностике проблем, так как позволяет получить трассировку стека отказавшего процесса сервера. -D каталог_данных
—pgdata каталог_данных

Указывает размещение конфигурационных файлов кластера. Если не указано, используется значение переменной окружения PGDATA . -l имя_файла
—log имя_файла

Направляет вывод сообщений сервера в файл имя_файла . Файл создаётся, если он ещё не существует. При этом устанавливается umask 077, что предотвращает доступ других пользователей к этому файлу. -m режим
—mode режим

Задаёт режим остановки кластера. Значением режим может быть smart , fast или immediate , либо первая буква этих вариантов. По умолчанию выбирается режим fast . -o параметры

Указывает флаги, которые будут переданы непосредственно программе postgres ; несколько параметров складываются вместе.

Эти параметры обычно следует обрамлять одинарными или двойными кавычками, чтобы они передавались вместе как одна группа. -o параметры-initdb

Указывает флаги, которые будут переданы в initdb .

Эти параметры обычно следует обрамлять одинарными или двойными кавычками, чтобы они передавались вместе как одна группа. -p путь

Указывает размещение исполняемого файла postgres . По умолчанию задействуется исполняемый файл postgres из того же каталога, из которого запускался pg_ctl , а если это невозможно, из жёстко заданного каталога инсталляции. Применять этот параметр может понадобиться, только если вы делаете что-то необычное или получаете сообщения, что найти исполняемый файл postgres не удаётся.

В режиме init этот параметр аналогичным образом задаёт размещение исполняемого файла initdb . -s
—silent

Выводить лишь ошибки, без сообщений информационного характера. -t
—timeout

Максимальное время (в секундах) ожидания запуска или остановки сервера. По умолчанию принимается значение переменной среды PGCTLTIMEOUT или, если оно не задано, 60 секунд. -V
—version

Выводит версию pg_ctl и прерывает выполнение. -w

Ждать завершения запуска или остановки. Это вариант по умолчанию при остановке, но не при запуске. Ожидая запуска, pg_ctl постоянно пытается подключиться к серверу. Ожидая остановки, pg_ctl ждёт, пока сервер не удалит свой файл PID . Этот параметр позволяет ввести парольную фразу SSL при запуске. pg_ctl возвращает код завершения, сообщающий об успехе запуска или остановки. -W

Не ждать завершения запуска или остановки. Это вариант по умолчанию для режимов запуска и перезапуска. -?
—help

Вывести справку по команде pg_ctl и прервать выполнение.

Параметры, специфичные для Windows

Имя источника событий, с которым pg_ctl будет записывать в системный журнал события при запуске в виде службы Windows. Имя по умолчанию — PostgreSQL . Заметьте, что это влияет только на сообщения, которые выдаёт сам pg_ctl ; как только сервер запустится, он будет использовать источник событий, заданный в event_source. Если произойдёт ошибка при запуске сервера на ранней стадии, он также выдаст сообщение с источником по умолчанию PostgreSQL . -N имя_службы

Имя регистрируемой системной службы. Оно станет и собственно именем службы, и отображаемым именем. -P пароль

Пароль для пользователя, запускающего службу. -S тип-запуска

Тип запуска системной службы. Может принимать значения: auto , или demand , либо быть представлен первой буквой названия каждого приведённого значения. По умолчанию используется auto . -U имя_пользователя

Имя пользователя, от имени которого будут запущена служба. Для доменных пользователей необходимо использовать нотацию DOMAIN\username .

Переменные окружения

PGCTLTIMEOUT

Значение по умолчанию для максимального времени ожидания запуска или остановки сервера (в секундах). По умолчанию это время составляет 60 секунд. PGDATA

Размещение каталога хранения данных по умолчанию.

pg_ctl , как и большинство других утилит PostgreSQL , также использует переменные окружения, поддерживаемые libpq (см. Раздел 32.14). Другие переменные сервера описаны в postgres .

Файлы

postmaster.pid

Наличие файла в каталоге хранения данных помогает pg_ctl определить, работает ли сервер в настоящий момент. postmaster.opts

Если файл существует в каталоге хранения данных, то pg_ctl (при restart ) передаст его содержимое в качестве аргументов postgres , если не указаны иные значения в -o . Содержимое файла также отображается при вызове в режиме status .

Примеры

Запуск сервера

Для запуска сервера:

$ pg_ctl start 

Для запуска сервера с ожиданием готовности к приёму подключений:

$ pg_ctl -w start 

Чтобы запустить сервер с использованием порта 5433 и без fsync , выполните:

$ pg_ctl -o "-F -p 5433" start 

Остановка сервера

Для остановки сервера:

$ pg_ctl stop 

Параметр -m указывает режим остановки:

$ pg_ctl stop -m fast 

Повторный запуск сервера

Повторный запуск сервера производится аналогично остановке с дальнейшим его запуском, за исключением того, что pg_ctl использует аргументы, которые были переданы при предыдущем запуске кластера. В простейшем случае повторный запуск выглядит так:

$ pg_ctl restart 

Для повторного запуска сервера с ожиданием полной остановки и последующего запуска:

$ pg_ctl -w restart 

Для повторного запуска на порту 5433 с выключенным fsync после старта:

$ pg_ctl -o "-F -p 5433" restart 

Вывод состояния сервера

Ниже представлен примерный вывод pg_ctl :

$ pg_ctl status pg_ctl: server is running (PID: 13718) /usr/local/pgsql/bin/postgres "-D" "/usr/local/pgsql/data" "-p" "5433" "-B" "128" 

Показанная командная строка будет использоваться в режиме перезапуска.

См. также

Пред. Наверх След.
pg_controldata Начало pg_resetxlog

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

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