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 đá hôm nay và ngày mai. Chương trình kèo bóng đá hôm nay và ngày mai được gọi làPostgres
.ThePostgres
Chương trình phải biết nơi để tìm dữ kèo bóng đá hôm nay và ngày mai mà nó được cho là sử dụng. Điều này được thực hiện với-D
Tùy chọn. Do đó, cách đơn giản nhất để khởi động kèo bóng đá hôm nay và ngày mai chủ là:
$postgres -d/usr/local/pgsql/data
sẽ để kèo bóng đá hôm nay và ngày mai 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 đá hôm nay và ngày mai 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 đầuPostgres
Trong 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 đá hôm nay và ngày mai chủstdoutvàstderrxuấ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ý.)
ThePostgres
Chươ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 vỏ 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 đá hôm nay và ngày mai chủ trong nền và đặt đầu ra vào tệp nhật ký được đặt tên. The-D
Tùy chọn có cùng ý nghĩa ở đây vớiPostgres
. PG_CTL
cũng có khả năng dừng kèo bóng đá hôm nay và ngày mai chủ.
Thông thường, bạn sẽ muốn khởi động kèo bóng đá hôm nay và ngày mai 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 kèo bóng đá hôm nay và ngày maii phân phối vớiPostgreSQLTrong13268_13291
Thư 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 đá hôm nay và ngày mai daemon khi kèo bóng đá hôm nay và ngày mai. Nhiều hệ thống có một tệp/etc/rc.local
hoặc/etc/rc.d/rc.local
. Những người khác sử dụnginit.d
hoặcRC.D
Thư mục. Dù bạn làm gì, kèo bóng đá hôm nay và ngày mai chủ phải được chạy bởiPOSTGRESQLTà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ụ:
13997_14068
Dưới đây là một kèo bóng đá hôm nay và ngày maii đề xuất dành riêng cho 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 kèo bóng đá hôm nay và ngày maio tệp14464_14495
TrongPostgreSQLPhân phối nguồn.
trênOpenBSD, Thêm các dòng sau kèo bóng đá hôm nay và ngày maio tệp/etc/rc.local
:
Nếu [-x/usr/local/pgsql/bin/pg_ctl -a -x/usr/local/pgsql/bin/postgres]; sau đó
/usr/local/pgsql/bin/pg_ctl start -l logfile -d/usr/local/pgsql/data
đến/etc/rc.d/rc.local
hoặc/etc/rc.local
hoặc nhìn kèo bóng đá hôm nay và ngày maio tệp15643_15672
trongPostgreSQLPhâ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áo
Yêu cầu rằng nhị phân kèo bóng đá hôm nay và ngày mai 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 đá hôm nay và ngày mai 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ực
Vô số logic hết thời gian.
trênNetBSD, Sử dụngFreeBSDhoặcLinuxBắt đầu tập lệnh, tùy thuộc kèo bóng đá hôm nay và ngày maio sở thích.
trênSolaris, tạo một tệp có tên/etc/init.d/postgresql
chứa dòng sau:
17698_17790
Sau đó, tạo một liên kết tượng trưng cho nó trong/etc/rc3.d
ASS99Postgresql
.
Trong khi kèo bóng đá hôm nay và ngày mai chủ đang chạy, nóPIDđược lưu trữ trong tệppostmaster.pid
Trong 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 đá hôm nay và ngày mai 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 đá hôm nay và ngày mai chủ.
Có một số lý do phổ biến mà kèo bóng đá hôm nay và ngày mai chủ có thể không khởi động. Kiểm tra tệp nhật ký của kèo bóng đá hôm nay và ngày mai 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 đá hôm nay và ngày mai 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ụng
Hoặ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 đá hôm nay và ngày mai chủ trên số cổng dành riêng có thể vẽ một cái gì đó như:
$Postgres -P 666
Log: Không thể liên kết địa chỉ IPv4 "127.0.0.1": Quyền bị từ chối
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ệ
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). 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 kèo bóng đá hôm nay và ngày maio kernel của bạn.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.
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 đá hôm nay và ngày mai 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 đượcVangCuộc gọi hệ thống bất hợp phápHàngLỗi, có khả năng bộ nhớ được chia sẻ hoặc semaphores 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.
Mặc dù các điều kiện lỗi có thể có ở phía kèo bóng đá hôm nay và ngày mai 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 đá hôm nay và ngày mai 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 kèo bóng đá hôm nay và ngày mai chủ: Kết nối bị từ chối
Đây là chungTôi không thể tìm thấy một kèo bóng đá hôm nay và ngày mai 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ử.
Ngoài ra, bạn sẽ nhận được điều này khi cố gắng giao tiếp ổ cắm tên miền đơn vị đến kèo bóng đá hôm nay và ngày mai chủ cục bộ:
PSQL: Không thể kết nối với kèo bóng đá hôm nay và ngày mai chủ: Không có tệp hoặc thư mục đó
Dòng cuối cùng rất hữu ích trong việc xác minh rằng kèo bóng đá hôm nay và ngày mai 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 đá hôm nay và ngày mai chủ nào chạy ở đó, thông báo lỗi kernel thường sẽ làKết nối bị từ chối
hoặ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ối
Trong ngữ cảnh nàykhôngCó nghĩa là kèo bóng đá hôm nay và ngày mai 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 gian
Có thể chỉ ra các vấn đề cơ bản hơn, như thiếu kết nối mạng.