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

18.3. Khởi động soi kèo bóng đá truoctran

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

Nếu bạn đang sử dụng phiên bản đóng gói sẵnsoi kèo bóng đá truoctran, Nó gần như chắc chắn bao gồm các điều khoản để chạy soi kèo bóng đá truoctran 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 soi kèo bóng đá truoctran 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. Tham khảo tài liệu cấp gói để biết chi tiết.

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

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

sẽ để soi kèo bóng đá truoctran chủ chạy ở phía trước. Điều này phải được thực hiện trong khi đăng nhập vàosoi kèo bóng đá truoctranTài khoản người dùng. Không có-D, soi kèo bóng đá truoctran 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ữ soi kèo bóng đá truoctran 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.312147_12203

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 soi kèo bóng đá truoctran 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 soi kèo bóng đá truoctran chủ.

Thông thường, bạn sẽ muốn khởi động soi kèo bóng đá truoctran 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ớisoi kèo bóng đá truoctran13592_1360213623_13646Thư 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 để soi kèo bóng đá truoctran daemon khi soi kèo bóng đá truoctran. 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.D14007_14070soi kèo bóng đá truoctranTà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ụ:

14352_14423

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ệp14819_14850Trongsoi kèo bóng đá truoctranPhâ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/soi kèo bóng đá truoctran/log -d/usr/local/pgsql/data'
        echo -n 'soi kèo bóng đá truoctran'
    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ệp16004_16033trongsoi kèo bóng đá truoctranPhâ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/soi kèo bóng đá truoctranservice):

    [Đơn vị]
    Mô tả = soi kèo bóng đá truoctran 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 soi kèo bóng đá truoctran 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 asoi kèo bóng đá truoctransoi kèo bóng đá truoctran 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ụ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/soi kèo bóng đá truoctranchứa dòng sau:

    18065_18157

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

Trong khi soi kèo bóng đá truoctran 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 soi kèo bóng đá truoctran 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 soi kèo bóng đá truoctran chủ.

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

Có một số lý do phổ biến mà soi kèo bóng đá truoctran chủ có thể không khởi động. Kiểm tra tệp nhật ký của soi kèo bóng đá truoctran 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.

19173_19387

Đ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 soi kèo bóng đá truoctran 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 soi kèo bóng đá truoctran chủ trên số cổng dành riêng có thể vẽ một cái gì đó như:

$19840_19857Log: 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ệcsoi kèo bóng đá truoctranđ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 soi kèo bóng đá truoctran chủ với số lượng bộ đệm nhỏ hơn bình thường (Shared_buffers20799_21022

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ô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ốsoi kèo bóng đá truoctranmuốn tạo. Như trên, bạn có thể giải quyết vấn đề bằng cách khởi động soi kèo bóng đá truoctran 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.

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 soi kèo bóng đá truoctran khách

Mặc dù các điều kiện lỗi có thể có ở phía soi kèo bóng đá truoctran 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 soi kèo bóng đá truoctran 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: Không thể kết nối với soi kèo bóng đá truoctran chủ: Kết nối bị từ chối
        soi kèo bóng đá truoctran chủ đang chạy trên soi kèo bóng đá truoctran 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 soi kèo bóng đá truoctran chủ để nói chuyện vớixôngThấ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 soi kèo bóng đá truoctran 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 soi kèo bóng đá truoctran chủ cục bộ:

PSQL: Không thể kết nối với soi kèo bóng đá truoctran chủ: Không có tệp hoặc thư mục đó
        soi kèo bóng đá truoctran 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 soi kèo bóng đá truoctran 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ó soi kèo bóng đá truoctran 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à soi kèo bóng đá truoctran 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.

Gửi hiệu chỉnh

Nếu bạn thấy bất cứ điều gì trong tài soi kèo bóng đá truoctran không chính xác, không khớp Kinh nghiệm của bạn với tính năng cụ thể hoặc yêu cầu làm rõ thêm, Vui lòng sử dụngMẫu nàyĐể báo cáo vấn đề tài soi kèo bóng đá truoctran.