PostgreSQL
 sql >> Cơ Sở Dữ Liệu >  >> RDS >> PostgreSQL

Vai trò Postgresql Docker không tồn tại

Vấn đề rất đơn giản là máy tính của tôi đã chạy một phiên bản của Postgres mà tôi không biết là vẫn đang chạy (không phải bên trong Docker) trên :5432 , được kiểm tra bằng:

$ lsof -n -i:5432 | grep LISTEN

Vì vậy, tôi nhớ rằng tôi đã cài đặt nó qua https://gist.github.com/sgnl/609557ebacd3378f3b72 , Tôi đã chạy

$ pg-stop

Và sau đó tôi không gặp vấn đề gì khi kết nối với phiên bản Docker.

Chỉnh sửa (2019/07/02)

Câu hỏi này gần đây đã vượt qua 10.000 lượt xem, vì vậy tôi nghĩ mình nên giải thích thêm về lý do tại sao điều này lại xảy ra.

Thông thường chạy qua docker, sử dụng python và kết nối với cơ sở dữ liệu postgres yêu cầu bạn cài đặt psycopg2 , thông qua pip3 install psycopg2 , nhưng nếu bạn chạy lệnh này, bạn sẽ nhận được:

Error: pg_config executable not found.

Điều này là do psycopg2 yêu cầu cài đặt hệ điều hành của các thư viện postgres:

yum install postgresql-devel
apt-get install postgresql-client

Bây giờ, trên máy Mac, bạn sẽ cần thực hiện tương tự với brew:

brew install postgresql

Một điều mà tôi không nhận ra, đó là trên Mac, việc thực hiện ở trên sẽ không chỉ cài đặt các thư viện bắt buộc mà còn khởi động cơ sở dữ liệu trên :5432 . Bởi vì tất cả điều này được thực hiện trong nền, tôi không xảy ra sự cố vì không có lỗi thông thường nào xuất hiện để thông báo rằng cổng đang được sử dụng, v.v.



  1. Database
  2.   
  3. Mysql
  4.   
  5. Oracle
  6.   
  7. Sqlserver
  8.   
  9. PostgreSQL
  10.   
  11. Access
  12.   
  13. SQLite
  14.   
  15. MariaDB
  1. Mối quan hệ chính đối ngoại trong mối quan hệ nhiều người

  2. NodeJS / Knex Tạo phản hồi Json

  3. Chọn các ký tự lạ trên văn bản, không hoạt động với toán tử LIKE

  4. Cách đóng lỗ hổng bảo mật trong PostgreSQL

  5. Làm thế nào để tạo tệp vĩnh viễn trên Heroku?