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 đá pháp 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 đá pháp

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 đá pháp. Chương trình kèo bóng đá pháp được gọi làPostgres.The10792_10802Chương trình phải biết nơi để tìm dữ kèo bóng đá pháp mà nó được cho là sử dụng. Điều này được thực hiện với-DTùy chọn. Do đó, cách đơn giản nhất để khởi động kèo bóng đá pháp chủ là:

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

sẽ để kèo bóng đá pháp chủ chạy ở phía trước. Điều này phải được thực hiện trong khi đăng nhập vàokèo bóng đá phápTài khoản người dùng. Không có-D11294_11378PGDATA. 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ữ kèo bóng đá pháp 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 đề. (Nhìn thấyPhần 24.3Để thảo luận kỹ lưỡng hơn về xử lý tệp nhật ký.)

The12178_12188Chươ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 bắt đầu -l logfile

sẽ khởi động kèo bóng đá pháp 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 đá pháp chủ.

Thông thường, bạn sẽ muốn khởi động kèo bóng đá pháp 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 phân phối vớikèo bóng đá pháptrong13548_13571Thư 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 đá pháp daemon khi kèo bóng đá pháp. Nhiều hệ thống có một tệp13773_13788hoặ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 đá pháp chủ phải được chạy bởikèo bóng đá phápTà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ụ:

14277_14348

Dưới đây là một vài đề xuất 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ệp14744_14775trongkèo bóng đá phápPhâ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 đó
        Su -l postgres -c '/usr/local/pgsql/bin/pg_ctl start -s -l/var/kèo bóng đá pháp/log -d/usr/local/pgsql/data'
        echo -n 'kèo bóng đá pháp'
    fi
  • 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ệp15923_15952trongkèo bóng đá phápPhâ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/kèo bóng đá phápservice):

    [Đơn vị]
    Mô tả = kèo bóng đá pháp PostgreSQL
    Tài liệu = người đàn ông: Postgres (1)
    After = mạng-online.target
    Muốn = mạng-online.target
    
    [Dịch vụ]
    Loại = Thông báo
    Người dùng = Postgres
    ExecStart =/usr/local/pgsql/bin/postgres -d/usr/local/pgsql/data
    ExecReload =/bin/kill -hup $ mainpid
    Killmode = hỗn hợp
    Giết chết = sigint
    Thời gian chờ = Vô cực
    
    [Cài đặt]
    Wantby = multi-user.target

    sử dụngtype = thông báoYêu cầu rằng nhị phân kèo bóng đá pháp 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 chết một quy trình không báo cáo sự sẵn sàng trong thời gian đó. Nhưng akèo bóng đá phápkèo bóng đá pháp 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ủaVô cựcVô số logic hết thời gian.

  • trênNetBSD, Sử dụngFreeBSD​​hoặ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/kèo bóng đá phápchứa dòng sau:

    17978_18070

    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 đá pháp chủ đang chạy, nóPIDđược lưu trữ trong tệppostmaster.pid18391_18557

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

Có một số lý do phổ biến mà kèo bóng đá pháp chủ có thể không khởi động. Kiểm tra tệp nhật ký của kèo bóng đá pháp 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. Dưới đây chúng tôi giải thích một số thông báo lỗi phổ biến nhất chi tiết hơn.

Log: Không thể liên kết địa chỉ IPv4 "127.0.0.1": Địa chỉ đã được sử dụng
Gợi ý: Một người bán bưu điện khác đã chạy trên cổng 5432? Nếu không, hãy đợi một vài giây và thử lại.
Fatal: Không thể tạo bất kỳ ổ cắm TCP/IP nào

Đ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 đá pháp 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 đá pháp 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
Gợi ý: Một người bán bưu điện khác đã chạy trên cổng 666? Nếu không, hãy đợi một vài giây và thử lại.
Fatal: Không thể tạo bất kỳ ổ cắm TCP/IP nào

Một thông báo như:

Fatal: Không thể tạo phân đoạn bộ nhớ được chia sẻ: Đối số không hợp lệ
Chi tiết: Cuộc gọi hệ thống không thành công là shmget (key = 5440001, size = 4011376640, 03600).

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ệckèo bóng đá phápđang cố gắng tạo (4011376640 byte trong ví dụ này). Hoặc nó có thể có nghĩa là bạn không có hỗ trợ bộ nhớ chia sẻ theo kiểu hệ thống V được cấu hình vào kernel của bạn. Là một cách giải quyết tạm thời, bạn có thể thử khởi động kèo bóng đá pháp chủ với số lượng bộ đệm nhỏ hơn bình thường (Shared_buffers). Cuối cùng, bạn sẽ muốn cấu hình lại kernel của mình để 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 đá pháp chủ trên cùng một kèo bóng đá pháp, 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ị
Chi tiết: Cuộc gọi hệ thống không thành công là Semget (5440126, 17, 03600).

khôngkhông21188_21272System VSemaphores nhỏ hơn sốkèo bóng đá phápmuố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 đá pháp 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 hạt nhân.

Nếu bạn nhận đượcMạnhCuộc gọi hệ thống bất hợp phápHàngLỗi, có khả năng bộ nhớ hoặc semaphores được chia sẻ hoàn toàn không được hỗ trợ trong hạt nhân của bạn. Trong trường hợp đó, tùy chọn duy nhất của bạn là cấu hình lại kernel để kích hoạt các tính năng này.

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 đá pháp khách

22476_22751

PSQL: Không thể kết nối với kèo bóng đá pháp chủ: Kết nối bị từ chối
        kèo bóng đá pháp chủ đang chạy trên kèo bóng đá pháp chủ "server.joe.com" và chấp nhận
        Kết nối TCP/IP trên cổng 5432?

Đây là chungTôi không thể tìm thấy một kèo bóng đá pháp chủ để nói chuyện vớiHồiThất bại. Nó trông giống như ở trên khi giao tiếp TCP/IP được thử. Một lỗi phổ biến là quên định cấu hình kèo bóng đá pháp chủ để cho phép kết nối TCP/IP.

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

PSQL: Không thể kết nối với kèo bóng đá pháp chủ: Không có tệp hoặc thư mục đó
        kèo bóng đá pháp chủ đang chạy cục bộ và chấp nhận
        Kết nối trên ổ cắm miền Unix "/tmp/.s.pgsql.5432"?

Dòng cuối cùng rất hữu ích trong việc xác minh rằng kèo bóng đá pháp khách đang cố gắng kết nối với đúng nơi. Nếu trên thực tế không có kèo bóng đá pháp chủ nào chạy ở đó, 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 đá pháp 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.15.) 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.