Thay đổi cổng PostgreSQL bằng dòng lệnh


10

Cổng mặc định PostgreSQL của tôi là 5432, tôi muốn thay đổi cổng mặc định bằng cách sử dụng dòng lệnh (trong Windows 7).

Tôi đã thấy giải pháp này trước đây: /programming/187438/want-to-change-pgsql-port

Tôi đã thử chạy lệnh sau, nhưng không thành công:

postgres --p 5431

Ai đó có thể cho tôi biết làm thế nào để thay đổi cổng trong việc sử dụng dòng lệnh?

Câu trả lời:


9

Vì bạn đang sử dụng Windows và có thể đang bắt đầu PostgreSQL dưới dạng dịch vụ Windows, bạn sẽ cần chỉnh sửa postgresql.conf(bên trong thư mục dữ liệu của mình) để đặt cổng mới ở đó, sau đó khởi động lại dịch vụ postgresql bằng bảng điều khiển Dịch vụ hoặc (với tư cách Quản trị viên ) net servicelệnh.

Bạn có thể sử dụng một công cụ chỉnh sửa văn bản theo chương trình để thay đổi postgresql.confnếu bạn cần tự động hóa việc này. Trên hộp Linux / unix, bạn sẽ sử dụng một công cụ như sedhoặc awk, nhưng trên Windows tôi tưởng tượng bạn sẽ sử dụng VBS, powershell hoặc một công cụ bổ trợ như Perl.

Bạn sẽ cần thay đổi cài đặt kết nối trong các công cụ như PgAdmin-IIIsử dụng cổng mới.

Nếu bạn đang bắt đầu PostgreSQL theo cách thủ công bằng cách sử dụng, pg_ctlbạn có thể đặt PGPORTbiến môi trường hoặc chuyển tùy chọn cấu hình trên dòng lệnh. Điều này sẽ không hoạt động khi bạn khởi chạy nó như một dịch vụ Windows.


Tôi đang sử dụng "Swiss File Knife" để thay thế các tệp văn bản trên Windows.
a_horse_with_no_name

@a_horse_with_no_name Công cụ hữu ích khi bạn không có fileutils / coreutils / etc; cảm ơn vì tiền hỗ trợ.
Craig Ringer

Vì vậy, tôi không thể sử dụng dòng lệnh để thay đổi cổng pssql trong Windows?
Nick Hung

@NickHung Có, như bạn đã giải thích ở trên - sử dụng bộ xử lý văn bản để thay đổi tệp cấu hình hoặc không chạy PostgreQuery như một dịch vụ Windows và thay vào đó hãy khởi động nó pg_ctl.
Craig Ringer

7
  • đi tới .. \ PostgreSQL \ 9.0 \ data và mở tệp postgresql.conf trong trình soạn thảo văn bản / notepad
  • tìm kiếm tham số cổng .eg: port = 5433
  • chỉnh sửa nó thành số cổng của bạn.
  • đi đến để chạy loại services.msc và khởi động lại dịch vụ postgresql.

bạn có thể kiểm tra xem thông số có được đặt hay không thông qua công cụ truy vấn. chỉ cần thực hiện show porttruy vấn. nó sẽ hiển thị số cổng hiện tại của bạn. Nếu đang sử dụng pgAdmin để kết nối với db, hãy đảm bảo bạn đã thay đổi số cổng trong cài đặt kết nối.


0

Một giải pháp không yêu cầu bất kỳ thay thế văn bản hoặc các kỹ thuật tương tự là định cấu hình cổng khác nhau trong một tệp cấu hình riêng biệt, sau đó nối thêm một lệnh bao gồm vào postgresql.conftệp.

ví dụ

echo port = 5431 > \path\to\datadir\custom.conf
echo include custom.conf>> \path\to\datadir\postgresql.conf

(Tất nhiên \path\to\datadir\cần phải được thay thế bằng đường dẫn chính xác)

Lệnh đầu tiên echotạo một tệp mới chỉ với cấu hình cổng. Cái thứ hai nối thêm một lệnh bao gồm vào tệp cấu hình postgres hiện có. Vì cài đặt "sau" ghi đè cài đặt "trước đó" trong tệp, mọi cấu hình cổng được thực hiện postgresql.confsẽ được ghi đè bằng cài đặt trong tệp cấu hình tùy chỉnh.

Khi sử dụng trang web của chúng tôi, bạn xác nhận rằng bạn đã đọc và hiểu Chính sách cookieChính sách bảo mật của chúng tôi.
Licensed under cc by-sa 3.0 with attribution required.