2014-10-31 21 views
5

Tôi đang cố gắng kết nối với một DB PostgreSQL qua Emacs bằng cách sử dụng sql-mode. Tôi bắt đầu Emacs, lệnh M-x sql-postgres và nó sẽ nhắc Người dùng, Cơ sở dữ liệu và Máy chủ nhưng không cho mật khẩu. Một bộ đệm trống mở và bất cứ điều gì tôi viết, tôi nhận được:Emacs, sql-mode, Postgresql và mật khẩu đầu vào

the Password for user james: 
psql: FATAL: password authentication failed for user "james" 

tôi có thể đăng nhập bằng psql, mặc dù. Tôi đang chạy GNU Emacs 24.4.1 trong Linux Antergos, PostgreSQL là 9.3.5.

Cảm ơn ..

Trả lời

4

Kevin's answer cung cấp giải pháp tương tác.

Nếu không, bạn phải sử dụng phương pháp xác thực không tương tác (chẳng hạn như tệp .pgpass).


gốc (và không chính xác) Đề nghị của tôi là để kích hoạt "mật khẩu" tùy chọn tại M-xcustomize-optionRETsql-postgres-login-paramsRET.

Biến số sql-*-login-params (và các tiện ích tùy chỉnh được liên kết) được tổng quát trên tất cả các loại cơ sở dữ liệu; nhưng không phải tất cả các tùy chọn đó đều có thể áp dụng cho tất cả các cơ sở dữ liệu.

Nếu có thể, mật khẩu sẽ được đọc bởi Emacs và sau đó được sử dụng trong dòng lệnh. Tuy nhiên, psql không cho phép mật khẩu được cung cấp như một phần của lệnh, do đó, không có cách nào để Emacs sử dụng cách tiếp cận này tại đây. Đây là lý do tại sao tùy chọn mật khẩu bị tắt cho tham số đăng nhập postgres.

+0

Tôi nhận được ** [không khớp] **. –

+0

Xin lỗi vì không rõ ràng. Không có kết quả phù hợp cho 'sql-postgres-login-params'. –

+0

Nó có sẵn như của Emacs 24.1. Hãy đảm bảo thư viện thực sự được tải trước (ví dụ: gọi 'M-x sql-postgres') hoặc Emacs sẽ không biết về nó. – phils

3

tôi giải quyết này tạm thời bằng cách tạo ra một tập tin .pgpass nơi tôi lưu trữ thông tin kết nối của tôi. Tôi không cảm thấy thoải mái với điều đó và muốn có một giải pháp yêu cầu nhập mật khẩu khi đăng nhập.

1

Tôi cũng gặp vấn đề này. Nếu bạn đi đến bộ đệm trống & nhấn enter, bạn có nhận được lời nhắc mật khẩu không? Tôi làm, và khi gõ mật khẩu, chế độ hoạt động tốt.

7

Trong trường hợp người khác tìm kiếm, tôi đã giải quyết vấn đề này bằng cách gọi gửi-vô hình và nhập mật khẩu của tôi, sau khi lệnh sql-postgres hoàn tất. Phiên bản Emacs 24.5.1.

  1. Tiến postgres kết nối
  2. Tại màn hình M-x-invisible gửi
  3. Loại mật khẩu trống.
  4. Lợi nhuận.
Các vấn đề liên quan