Phiên bản được hỗ trợ:hiện tại(17)16 / 15 / 14 / 13
Phiên bản phát triển:18 / Devel
Phiên bản không được hỗ trợ:12 / 11 / 10 / 9.6 / 9.5 / 9.4 / 9.3 / 9.2 / 9.1 / 9.0 / 8.4 / 8.3 / 8.2
Tài kèo bóng đá hom nay này dành cho phiên bản không được hỗ trợ của PostgreSQL.
Bạn có thể muốn xem cùng một trang chohiện tạiPhiên bản hoặc một trong các phiên bản được hỗ trợ khác được liệt kê ở trên thay thế.

18.3. Khởi động kèo bóng đá hom nay#

Trước khi bất cứ ai có thể truy cập cơ sở dữ liệu, bạn phải khởi động kèo bóng đá hom nay. Chương trình kèo bóng đá hom nay được gọi làPostgres.

Nếu bạn đang sử dụng phiên bản đóng gói sẵn củaPostgreSQL, Nó gần như chắc chắn bao gồm các điều khoản để chạy kèo bóng đá hom nay chủ như một tác vụ nền theo các quy ước của hệ điều hành của bạn. Sử dụng cơ sở hạ tầng của gói để khởi động kèo bóng đá hom nay chủ sẽ ít hoạt động hơn nhiều so với việc tìm ra cách tự làm điều này.

Cách khởi động của kèo bóng đá hom nay chủ theo cách thủ công chỉ là gọiPostgresTrực tiếp, chỉ định vị trí của thư mục dữ kèo bóng đá hom nay với-DTùy chọn, ví dụ:

$Postgres -d/usr/local/pgsql/data

sẽ để kèo bóng đá hom nay chủ chạy ở phía trước. Điều này phải được thực hiện trong khi đăng nhập vàoPostgreSQLTài khoản người dùng. Không có-D, kèo bóng đá hom nay chủ sẽ cố gắng sử dụng thư mục dữ liệu được đặt tên bởi biến môi trườngPGDATA. Nếu biến đó cũng không được cung cấp, nó sẽ thất bại.

Thông thường tốt hơn là bắt đầuPostgresTrong nền. Đối với điều này, hãy sử dụng cú pháp Unix Shell thông thường:

$Postgres -d/usr/local/pgsql/data logfile 2 & 1 &

Điều quan trọng là lưu trữ của kèo bóng đá hom nay chủstdoutstderrxuất ra ở đâu đó, như được hiển thị ở trên. Nó sẽ giúp cho mục đích kiểm toán và chẩn đoán các vấn đề.Phần 24.3Để thảo luận kỹ lưỡng hơn về xử lý tệp nhật ký.)

ThePostgresChương trình cũng có một số tùy chọn dòng lệnh khác. Để biết thêm thông tin, xemPostgresTrang tham khảo vàChương 19bên dưới.

Cú pháp shell này có thể nhanh chóng tẻ nhạt. Do đó chương trình trình bao bọcPG_CTLđược cung cấp để đơn giản hóa một số nhiệm vụ. Ví dụ:

PG_CTL START -L LogFile

sẽ khởi động kèo bóng đá hom nay chủ trong nền và đặt đầu ra vào tệp nhật ký được đặt tên. The-DTùy chọn có cùng ý nghĩa ở đây vớiPostgres. PG_CTLcũng có khả năng dừng kèo bóng đá hom nay chủ.

Thông thường, bạn sẽ muốn khởi động kèo bóng đá hom nay khi khởi động máy tính.Các tập lệnh AutoStart là dành riêng cho hệ điều hành. Có một vài tập lệnh ví dụ được phân phối vớiPostgreSQLtrong13989_14012Thư mục. Cài đặt một sẽ yêu cầu đặc quyền gốc.

Các hệ thống khác nhau có các quy ước khác nhau để kèo bóng đá hom nay daemon khi kèo bóng đá hom nay. Nhiều hệ thống có một tệp/etc/rc.localhoặc/etc/rc.d/rc.local. Những người khác sử dụnginit.dhoặcRC.DThư mục. Dù bạn làm gì, kèo bóng đá hom nay chủ phải được chạy bởiPostgreSQL​​Tài khoản người dùngvà không phải bởi roothoặc bất kỳ người dùng nào khác. Do đó, có lẽ bạn nên hình thành các lệnh của mình bằng cách sử dụngSu Postgres -c '...'. Ví dụ:

14718_14789

Dưới đây là một vài gợi ý cụ thể về hệ điều hành. (Trong mỗi trường hợp, hãy chắc chắn sử dụng thư mục cài đặt và tên người dùng thích hợp trong đó chúng tôi hiển thị các giá trị chung.)

  • choFreeBSD, nhìn vào tệp15185_15216trongPostgreSQLPhân phối nguồn.

  • trênOpenBSD, Thêm các dòng sau vào tệp/etc/rc.local:

    Nếu [-x/usr/local/pgsql/bin/pg_ctl -a -x/usr/local/pgsql/bin/postgres]; sau đó
  • trênLinuxHệ thống thêm

    /usr/local/pgsql/bin/pg_ctl start -l logfile -d/usr/local/pgsql/data

    đến/etc/rc.d/rc.localhoặc/etc/rc.localhoặc nhìn vào tệp16370_16399TrongPostgreSQLPhân phối nguồn.

    Khi sử dụngsystemd, bạn có thể sử dụng tệp đơn vị dịch vụ sau (ví dụ: tại/etc/systemd/system/postgresql.service):

    [Đơn vị]

    Sử dụngtype = thông báoYêu cầu rằng nhị phân kèo bóng đá hom nay chủ được xây dựng vớiĐịnh cấu hình-với systemd.

    xem xét cẩn thận cài đặt thời gian chờ.Systemdcó thời gian chờ mặc định là 90 giây kể từ khi viết này và sẽ giết một quy trình không báo cáo sự sẵn sàng trong thời gian đó. Nhưng aPostgreSQLkèo bóng đá hom nay chủ có thể phải thực hiện phục hồi sự cố khi khởi động có thể mất nhiều thời gian hơn để sẵn sàng. Giá trị được đề xuất củaInfinityVô số logic hết thời gian.

  • trênNetBSD, Sử dụngFreeBSDhoặcLinuxBắt đầu tập lệnh, tùy thuộc vào sở thích.

  • trênSolaris, tạo một tệp có tên/etc/init.d/postgresqlchứa dòng sau:

    18431_18523

    Sau đó, tạo một liên kết tượng trưng cho nó trong/etc/rc3.dASS99postgresql.

Trong khi kèo bóng đá hom nay chủ đang chạy, nóPIDđược lưu trữ trong tệpPostmaster.pidTrong thư mục dữ liệu. Điều này được sử dụng để ngăn chặn nhiều trường hợp kèo bóng đá hom nay chủ chạy trong cùng một thư mục dữ liệu và cũng có thể được sử dụng để tắt kèo bóng đá hom nay chủ.

18.3.1. kèo bóng đá hom nay chủ khởi động thất bại#

Có một số lý do phổ biến mà kèo bóng đá hom nay chủ có thể không khởi động. Kiểm tra tệp nhật ký của kèo bóng đá hom nay chủ hoặc khởi động bằng tay (không chuyển hướng đầu ra tiêu chuẩn hoặc lỗi tiêu chuẩn) và xem thông báo lỗi nào xuất hiện.

Log: Không thể liên kết địa chỉ IPv4 "127.0.0.1": Địa chỉ đã được sử dụng

Điều này thường có nghĩa là những gì nó gợi ý: Bạn đã cố gắng khởi động một kèo bóng đá hom nay chủ khác trên cùng một cổng nơi một người đã chạy. Tuy nhiên, nếu thông báo lỗi kernel khôngĐịa chỉ đã được sử dụngHoặc một số biến thể của điều đó, có thể có một vấn đề khác. Ví dụ: cố gắng khởi động một kèo bóng đá hom nay chủ trên số cổng dành riêng có thể vẽ một cái gì đó như:

$Postgres -P 666Log: Không thể liên kết địa chỉ IPv4 "127.0.0.1": Quyền bị từ chối

Một tin nhắn như:

Fatal: Không thể tạo phân đoạn bộ nhớ được chia sẻ: Đối số không hợp lệ

Có thể có nghĩa là giới hạn của hạt nhân của bạn về kích thước của bộ nhớ chia sẻ nhỏ hơn khu vực làm việcPostgreSQLđang cố gắng tạo (4011376640 byte trong ví dụ này). Điều này chỉ có khả năng xảy ra nếu bạn đã đặtshared_memory_typeđếnsysv. Trong trường hợp đó, bạn có thể thử khởi động kèo bóng đá hom nay chủ với số lượng bộ đệm nhỏ hơn bình thường (Shared_buffers) hoặc cấu hình lại kernel của bạn để tăng kích thước bộ nhớ được chia sẻ cho phép. Bạn cũng có thể thấy thông báo này khi cố gắng khởi động nhiều kèo bóng đá hom nay chủ trên cùng một kèo bóng đá hom nay, nếu tổng dung lượng của chúng được yêu cầu vượt quá giới hạn kernel.

một lỗi như:

Fatal: Không thể tạo Semaphores: Không còn khoảng trống trên thiết bị

khôngkhôngcó nghĩa là bạn đã hết dung lượng đĩa. Nó có nghĩa là giới hạn của hạt nhân của bạn về số lượngSystem VSemaphores nhỏ hơn sốPostgreSQLmuốn tạo. Như trên, bạn có thể giải quyết vấn đề bằng cách khởi động kèo bóng đá hom nay chủ với số lượng kết nối được phép giảm (Max_Connections), nhưng cuối cùng bạn sẽ muốn tăng giới hạn kernel.

Chi tiết về cấu hìnhSystem V IPCCác cơ sở được đưa ra trongPhần 18.4.1.

18.3.2. Sự cố kết nối kèo bóng đá hom nay khách#

Mặc dù các điều kiện lỗi có thể có ở phía kèo bóng đá hom nay khách khá đa dạng và phụ thuộc vào ứng dụng, một số trong số chúng có thể liên quan trực tiếp đến cách bắt đầu kèo bóng đá hom nay chủ. Các điều kiện khác với các điều kiện được hiển thị dưới đây phải được ghi lại với ứng dụng khách tương ứng.

PSQL: Lỗi: Kết nối với kèo bóng đá hom nay chủ tại "server.joe.com" (123.123.123.123), cổng 5432 không thành công

Đây là chungHồiTôi không thể tìm thấy một kèo bóng đá hom nay chủ để nói chuyện vớiThất bại. Nó trông giống như ở trên khi giao tiếp TCP/IP được thử.Listen_addressesđể kèo bóng đá hom nay chủ chấp nhận kết nối TCP từ xa.

Ngoài ra, bạn có thể nhận được điều này khi thử giao tiếp ổ cắm tên miền đơn vị đến kèo bóng đá hom nay chủ cục bộ:

PSQL: Lỗi: Kết nối với kèo bóng đá hom nay chủ trên ổ cắm "/tmp/.s.pgsql.5432" Không thành công: Không có tệp hoặc thư mục đó

Nếu kèo bóng đá hom nay chủ thực sự đang chạy, hãy kiểm tra xem ý tưởng của kèo bóng đá hom nay khách về đường dẫn ổ cắm (ở đây/TMP) Đồng ý với kèo bóng đá hom nay chủunix_socket_directoriesCài đặt.

Thông báo lỗi kết nối luôn hiển thị địa chỉ kèo bóng đá hom nay chủ hoặc tên đường dẫn ổ cắm, rất hữu ích trong việc xác minh rằng kèo bóng đá hom nay khách đang cố gắng kết nối đúng nơi. Nếu trên thực tế không có kèo bóng đá hom nay chủ nào nghe ở đó, thông báo lỗi kernel thường sẽ làKết nối bị từ chốihoặcKhông có tệp hoặc thư mục đó, như minh họa. (Điều quan trọng là phải nhận ra rằngKết nối bị từ chốiTrong ngữ cảnh nàykhôngcó nghĩa là kèo bóng đá hom nay chủ có yêu cầu kết nối của bạn và từ chối nó. Trường hợp đó sẽ tạo ra một thông báo khác, như trongPhần 20.16.) Các thông báo lỗi khác nhưkết nối hết thời gianCó thể chỉ ra các vấn đề cơ bản hơn, như thiếu kết nối mạng hoặc tường lửa chặn kết nối.