Запуск M-X sql-postgres в Emacs на Windows - PullRequest
3 голосов
/ 19 июля 2010

Когда я пытаюсь запустить подчиненный процесс psql в emacs для Windows, я, похоже, не получаю ответа. Похоже, это известная проблема , решение которой заключается в установке версии cygwin psql. К сожалению, Cygwin psql, похоже, абсолютно ничего не делает, даже psql -V ничего не делает. У кого-нибудь есть решение любой из этих проблем или простой способ отправки запросов из emacs в postgresql.

Ответы [ 3 ]

1 голос
/ 21 июля 2010

Хорошо, я наконец понял, как запустить Cygwin PSQL. Кажется, что в предоставленном cygpq.dll отсутствует какая-либо точка входа,

strace -o /dev/null psql --version

Ответ: «Точка входа в процедуру PQencryptPassword не удалось найти в библиотеке динамических ссылок cygpq.dll. "

Я заменил cygwin, предоставленный cygpq.dll, на локально скомпилированный, и похоже, что мы сейчас готовим на газе. Мне нужно больше узнать о динамических ссылках Cygwin. Я благодарю всех вас за поддержку пациентов.

1 голос
/ 13 сентября 2011

У меня была похожая проблема (но я не смог заставить работать cygwin psql).

В конце концов, я обнаружил, что оба вызова Mx sql-postgres и psql в оболочке Mx фактически являются интерактивными, но без видимого приглашения;то есть можно вводить команды (в самом начале последней строки), и они выполняются, как и ожидалось.

Прежде чем я понял, что изменил свой файл паролей postgres, чтобы избежать запроса пароля и первоначального зависания вызова psql в оболочке Mx:

Когда значения по умолчанию не совсем верныВы можете сэкономить некоторую печать, установив переменные окружения PGDATABASE, PGHOST, PGPORT и / или PGUSER в соответствующие значения.(Дополнительные переменные среды см. В документации.) Также удобно иметь файл ~ / .pgpass, чтобы избежать необходимости регулярно вводить пароли.Смотрите документацию для получения дополнительной информации.(http://linux.die.net/man/1/psql)

1 голос
/ 20 июля 2010

Это, вероятно, не будет хорошим ответом, но в настоящее время я не работаю на Windows-машине с Emacs или PostGres, поэтому не могу найти лучшее решение для вас.

Тем не менее, вы можете запустить psql в командной оболочке?Если это так, возможно, вы можете попробовать запустить оболочку (M-x shell) или Eshell (M-x eshell), чтобы запустить подчиненную оболочку и запустить psql оттуда.

Я былизначально предполагается, что вы звоните M-x shell-command (также M-!), а затем указываете psql & для своей команды.& сообщает Emacs, что вы хотите выполнить команду оболочки асинхронно.Однако эта запись в EmacsWiki указывает, что она не будет работать в Windows.Вы все равно можете попробовать и посмотреть, что получится ...

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...