Я скачал локальный PosgreSQL 11 в Windows 10.
Я пытаюсь изменить каталог в psql в окне командной строки на c: \ Program Files \ PostgreSQL \ 11 \ bin>
Я получаю недопустимую команду или каталог не существует
Я пробовал следовать с
postgres=# cd c:\Program Files\PostgreSQL\11\bin
Invalid command \Program. Try \? for help.
postgres-# \cd c:\Program Files\PostgreSQL\11\bin
Invalid command \Program. Try \? for help.
postgres-# \cd..
Invalid command \cd... Try \? for help.
postgres-# \cd ..
postgres-# \cd Program Files
\cd: could not change directory to "Program": No such file or directory
Я даже не уверен в текущем каталоге, поскольку pwd не распознается:
postgres-# \! pwd
'pwd' is not recognized as an internal or external command,
operable program or batch file.
Спасибо заранее
ОБНОВЛЕНИЕ: Разобрался как проверить текущий каталог \! cd
Пытался запустить команду таким образом \! C:\>cd C:\Program Files\PostgreSQL\11\bin
Я получил:
postgres-# \! C:\>cd C:\Program Files\PostgreSQL\11\bin
Access is denied.





Немного поздно для OP, но вот несколько советов для тех, кто здесь наткнется. Для этих задач изменения каталога и диска есть две соответствующие команды psql.
\cd. Вы можете использовать это для фактического изменения каталога. Однако там, где Windows использует обратную косую черту, используйте вместо нее прямую косую черту. Кроме того, эта команда понимает букву диска, и, в отличие от компакт-диска Windows, вам не нужно добавлять здесь флаг для смены диска с помощью команды cd. Примеры:
\cd /dir1/dir2
\cd D:/dira/dirb <-- Drive letter
\cd '/dir with spaces/other dir' <-- single quotes
Проблема: как отобразить текущий диск / каталог? В отличие от Windows, если вы выдадите \cd без аргументов, psql не покажет вам текущий каталог. Вместо этого он переходит в корневой каталог C: \ (предположительно по аналогии с изменением команды linux cd на домашний каталог). Поэтому вам нужно выполнить другую команду, чтобы увидеть текущий каталог.
\! <command>
Итак, в Linux вы можете использовать \! pwd для просмотра текущего рабочего каталога. Однако в Windows нет команды pwd. Но вы можете использовать \! cd.Это может сбить с толку и привести к случайному использованию \ cd (что нежелательно изменяет каталог), когда вы намеревались! cd, особенно если вы переключаетесь между Windows и Linux. Итак, в Windows вы можете создать командный файл для реализации pwd.
В качестве дополнительной путаницы вы можете подумать об использовании чего-то вроде:
\! cd \dira\dirb, однако, по какой-то причине запуск \! cd с аргументами не работает (прямая или обратная косая черта).
Дополнительная альтернатива, если вам нужно только один раз перейти в конкретный текущий каталог, вы можете выполнить cd перед запуском скрипта, запускающего psql. То есть не используйте команду «SQL Shell (psql)», которую Postgresql устанавливает в меню «Пуск». Вместо этого просмотрите свойства этой команды, обратите внимание на путь к сценарию и используйте его в командном окне только после того, как вы перейдете в желаемый каталог.
Я использую окна, кстати
Вы должны сменить каталог перед запуском psql Теперь вы можете подумать, но когда я открываю оболочку psql, на ней уже запущен psql, потому что вы открыли его в оболочке psql, не делайте этого
Вот что тебе нужно сделать
если вы получаете ошибку «psql is not a command», это потому, что путь psql не находится в вашем переменные среды
если вам нужно это исправить, перейдите на эту страницу .. → Нажми на меня
Почему бы вам не сменить каталог до под управлением
psql