it-swarm-vi.com

Postgres "psql không được công nhận là một lệnh nội bộ hoặc bên ngoài"

Đối với Postgres, tôi liên tục gặp lỗi này nhiều lần mặc dù tôi đã đặt vị trí của thư mục bin thành biến đường dẫn trong Windows 8. Có thiếu thứ gì khác không?

(Tôi không thể đăng ảnh vì tôi không có đủ danh tiếng)

21
as1216

Chỉ là một bản cập nhật vì tôi đã thử nó trên Windows 10, bạn cần đặt đường dẫn như sau: ;C:\Program Files\PostgreSQL\9.5\bin ;C:\Program Files\PostgreSQL\9.5\lib 

Bạn có thể thực hiện điều đó thông qua CMD bằng cách sử dụng set PATH [the path] Hoặc từ của tôi 

máy tính => thuộc tính => cài đặt hệ thống nâng cao => Môi trường Biến => Biến hệ thống

Sau đó tìm kiếm đường dẫn.

Quan trọng: không thay thế các PATH đã có sẵn, chỉ cần thêm một bên cạnh chúng như sau ;C:\Program Files\PostgreSQL\9.5\bin ;C:\Program Files\PostgreSQL\9.5\lib

Xin lưu ý : Trên windows 10, nếu bạn làm theo điều này: computer => property => cài đặt hệ thống nâng cao => Biến môi trường => Biến hệ thống> chọn PATH, bạn thực sự có tùy chọn để thêm hàng mới. Nhấp vào Chỉnh sửa, thêm vị trí thư mục/bin và/lib và lưu các thay đổi. 

Sau đó đóng lệnh của bạn Nhắc nếu nó mở và sau đó khởi động lại Hãy thử psql --version Nếu nó cho bạn một câu trả lời thì bạn nên đi nếu không thử echo %PATH% và xem liệu đường dẫn bạn đặt đã được thêm hay không và nếu nó được thêm vào thì nó có được thêm chính xác hay không.

41
Shahin

Tôi đã có vấn đề của bạn và làm cho nó hoạt động trở lại (trên windows 7).

Thiết lập của tôi đã thực sự làm việc lúc đầu. I postgres đã cài đặt và sau đó thiết lập các biến PATH của hệ thống với C:\Program Files\PostgreSQL\9.6\bin; C:\Program Files\PostgreSQL\9.6\lib. Từ khóa psql trong dòng lệnh không có lỗi.

Tôi đã xóa các biến PATH trên một lần để kiểm tra xem cả hai có thực sự cần thiết không. Psql tiếp tục hoạt động sau khi tôi xóa đường dẫn lib, nhưng đã ngừng hoạt động sau khi tôi xóa đường dẫn bin. Khi tôi trả lại bin, nó vẫn không hoạt động và tương tự với lib. Tôi đã đóng và mở lại dòng lệnh giữa các lần thử và kiểm tra đường dẫn. Vấn đề còn sót lại mặc dù con đường giống hệt như khi nó hoạt động. Tôi dán lại nó.

Tôi gỡ cài đặt và cài đặt lại postgres. Vấn đề còn sót lại. Cuối cùng nó cũng hoạt động sau khi tôi xóa khoảng trắng giữa "; C: ..." trong đường dẫn và được lưu lại.

Không chắc đó có thực sự là không gian là thủ phạm hay không. Có thể các biến môi trường chỉ cần được thay đổi và làm mới sau khi cài đặt.

Tôi cũng vẫn không chắc chắn liệu cả hai đường dẫn lib và bin có cần thiết hay không vì dường như có một loại bộ nhớ còn sót lại cho các cấu hình đường dẫn cũ. Tôi không muốn kiểm tra lại mặc dù.

2
voluntier

Ngay cả khi muộn một chút, tôi đã giải quyết vấn đề PATH bằng cách xóa mọi khoảng trống.

;C:\Program Files\PostgreSQL\9.5\bin;C:\Program Files\PostgreSQL\9.5\lib

làm việc cho tôi bây giờ.

1
derRichter

Windows 10

Có thể là máy chủ của bạn không tự động khởi động trên windows 10 và bạn cần tự khởi động nó sau khi đặt đường dẫn Postgresql bằng lệnh sau trong cmd:

pg_ctl -D "C:\Program Files\PostgreSQL\11.4\data" start

Bạn cần phải ở trong thư mục "C:\Program Files\PostgreSQL\11.4\bin" để thực thi lệnh trên.

VÍ DỤ:

enter image description here

Bạn vẫn cần phải ở trong thư mục bin để làm việc với psql

1
Abdel-Raouf

Nếu bạn đã thử tất cả các câu trả lời mà vẫn quay đầu, đừng quên thay đổi phiên bản với phiên bản mà bạn đã tải xuống.

Ví dụ: không chỉ đơn giản là sao chép dán 

;C:\Program Files\PostgreSQL\9.5\bin ;C:\Program Files\PostgreSQL\9.5\lib

Rõ ràng hơn,

;C:\Program Files\PostgreSQL\[Your Version]\bin ;C:\Program Files\PostgreSQL\[Your Version]\lib

Tôi quay đầu. Hi vọng điêu nay co ich.

0
Unnit Metaliya

Hãy chắc chắn rằng đường dẫn thực sự dẫn đến các tệp thực thi. Tôi đang sử dụng phiên bản 11 và nó không hoạt động cho đến khi điều này được đặt làm đường dẫn:

C:\Program Files\PostgreSQL\11\bin\bin

Có thể đây là cách phiên bản 11 được cấu trúc hoặc bằng cách nào đó tôi đã cài đặt cài đặt nhưng tôi không gặp vấn đề gì kể từ đó.

0
Nate