PostgreSQL: kèo chấp bóng đá hôm nay liệu: 9.4: | |||
---|---|---|---|
prev | UP | Chương 17. Thiết lập và vận hành máy chủ | Tiếp theo |
Trước khi bạn có thể làm bất cứ điều gì, bạn phải khởi tạo vùng lưu trữ cơ sở dữ kèo chấp bóng đá hôm nay trên đĩa. Chúng tôi gọi đây làCụm cơ sở dữ kèo chấp bóng đá hôm nay. (TheSQLTiêu chuẩn sử dụng cụm danh mục thuật ngữ.) Cụm cơ sở dữ kèo chấp bóng đá hôm nay là một tập hợp các cơ sở dữ kèo chấp bóng đá hôm nay được quản lý bởi một trường hợp duy nhất của máy chủ cơ sở dữ kèo chấp bóng đá hôm nay đang chạy. Sau khi khởi tạo, cụm cơ sở dữ kèo chấp bóng đá hôm nay sẽ chứa cơ sở dữ kèo chấp bóng đá hôm nay có tênPostgres, có nghĩa là cơ sở dữ kèo chấp bóng đá hôm nay mặc định để sử dụng bởi các tiện ích, người dùng và các ứng dụng của bên thứ ba. Bản thân máy chủ cơ sở dữ kèo chấp bóng đá hôm nay không yêu cầuPostgrescơ sở dữ kèo chấp bóng đá hôm nay tồn tại, nhưng nhiều chương trình tiện ích bên ngoài cho rằng nó tồn tại. Một cơ sở dữ kèo chấp bóng đá hôm nay khác được tạo trong mỗi cụm trong quá trình khởi tạo được gọi làTemplate1. Như tên cho thấy, điều này sẽ được sử dụng làm mẫu cho cơ sở dữ kèo chấp bóng đá hôm nay được tạo sau đó;Chương 21Để biết thông tin về việc tạo cơ sở dữ kèo chấp bóng đá hôm nay mới trong một cụm.)
Trong các thuật ngữ hệ thống tệp, cụm cơ sở dữ kèo chấp bóng đá hôm nay là một thư mục duy nhất theo đó tất cả dữ kèo chấp bóng đá hôm nay sẽ được lưu trữ. Chúng tôi gọi đây làThư mục dữ kèo chấp bóng đá hôm nayhoặcVùng dữ kèo chấp bóng đá hôm nay. Nó hoàn toàn tùy thuộc vào bạn nơi bạn chọn lưu trữ dữ kèo chấp bóng đá hôm nay của mình./usr/local/pgsql/datahoặc/var/lib/pgsql/datalà phổ biến. Để khởi tạo cụm cơ sở dữ kèo chấp bóng đá hôm nay, hãy sử dụng lệnhinitDB, được cài đặt vớiPostgreSQL. Vị trí hệ thống tệp mong muốn của cụm cơ sở dữ kèo chấp bóng đá hôm nay của bạn được biểu thị bằng-DTùy chọn, ví dụ:
$ initDB -D/usr/local/pgsql/data
Lưu ý rằng bạn phải thực thi lệnh này trong khi đăng nhập vàoPostgreSQLTài khoản người dùng được mô tả trong phần trước.
Tip:như là một giải pháp thay thế cho-DTùy chọn, bạn có thể đặt biến môi trườngPGDATA.
Ngoài ra, bạn có thể chạyinitDBthông quaPG_CTLChương trình như vậy:
$ pg_ctl -d/usr/local/pgsql/data initdb
Điều này có thể trực quan hơn nếu bạn đang sử dụngPG_CTLĐể khởi động và dừng máy chủ (xemPhần 17.3), do đóPG_CTLsẽ là lệnh duy nhất bạn sử dụng để quản lý phiên bản máy chủ cơ sở dữ kèo chấp bóng đá hôm nay.
initDBsẽ cố gắng kèo chấp bóng đá hôm nay thư mục bạn chỉ định nếu nó chưa tồn tại. Tất nhiên, điều này sẽ thất bại nếuinitDBKhông có quyền viết trong thư mục cha. Nó thường được khuyến nghị rằngPostgreSQLsở hữu người dùng không chỉ thư mục dữ kèo chấp bóng đá hôm nay mà cả thư mục cha của nó, do đó điều này không phải là vấn đề. Nếu thư mục cha mẹ mong muốn cũng không tồn tại, bạn sẽ cần tạo nó trước, sử dụng các đặc quyền gốc nếu thư mục ông bà không thể ghi.
root#mkdir/usr/local/pgsqlroot#Chown Postgres/usr/local/pgsqlroot#SU PostgresPostgres $initDB -D/usr/local/pgsql/data
initDBsẽ từ chối chạy nếu thư mục dữ kèo chấp bóng đá hôm nay tồn tại và đã chứa các tệp; Điều này là để ngăn chặn việc tự ghi đè một bản cài đặt hiện có.
Vì thư mục dữ kèo chấp bóng đá hôm nay chứa tất cả các dữ kèo chấp bóng đá hôm nay được lưu trữ trong cơ sở dữ kèo chấp bóng đá hôm nay, điều cần thiết là nó phải được bảo mật khỏi truy cập trái phép.initDBDo đó thu hồi quyền truy cập từ mọi người trừPostgreSQLuser.
Tuy nhiên, trong khi các nội dung thư mục được bảo mật, thiết lập xác thực máy khách mặc định cho phép bất kỳ người dùng cục bộ nào kết nối với cơ sở dữ kèo chấp bóng đá hôm nay và thậm chí trở thành siêu nhân cơ sở dữ kèo chấp bóng đá hôm nay. Nếu bạn không tin tưởng người dùng địa phương khác, chúng tôi khuyên bạn nên sử dụng một trong nhữnginitDB's-W, --pwprompthoặc--pwfileTùy chọn gán mật khẩu cho Superuser cơ sở dữ kèo chấp bóng đá hôm nay. Ngoài ra, chỉ định-A MD5hoặc-A Mật khẩuđể mặc địnhTrustChế độ xác thực không được sử dụng; hoặc sửa đổi được kèo chấp bóng đá hôm naypg_hba.confTệp sau khi chạyinitDB, nhưngtrướcBạn khởi động máy chủ lần đầu tiên. (Các phương pháp hợp lý khác bao gồm sử dụngPeerQuyền xác thực hoặc quyền hệ thống tệp để hạn chế các kết nối. Nhìn thấyChương 19Để biết thêm thông tin.)
initDBCũng khởi tạo ngôn ngữ mặc định cho cụm cơ sở dữ kèo chấp bóng đá hôm nay. Thông thường, nó sẽ chỉ lấy các cài đặt địa phương trong môi trường và áp dụng chúng vào cơ sở dữ kèo chấp bóng đá hôm nay được khởi tạo.Phần 22.1. Thứ tự sắp xếp mặc định được sử dụng trong cụm cơ sở dữ kèo chấp bóng đá hôm nay cụ thể được đặt bởiinitDBvà trong khi bạn có thể tạo cơ sở dữ kèo chấp bóng đá hôm nay mới bằng cách sử dụng thứ tự sắp xếp khác nhau, thứ tự được sử dụng trong cơ sở dữ kèo chấp bóng đá hôm nay mẫu mà initDB tạo ra không thể thay đổi mà không bỏ và tái tạo chúng. Ngoài ra còn có một tác động hiệu suất cho việc sử dụng các địa phương khác ngoàiChoặcPOSIX. Do đó, điều quan trọng là thực hiện lựa chọn này chính xác lần đầu tiên.
initDBcũng đặt mã hóa bộ ký tự mặc định cho cụm cơ sở dữ kèo chấp bóng đá hôm nay. Thông thường, điều này nên được chọn để phù hợp với cài đặt địa phương.Phần 22.3.
khôngCvà khôngPOSIXĐịa phương dựa vào thư viện đối chiếu của hệ điều hành để đặt hàng đặt ký tự. Điều này kiểm soát thứ tự của các khóa được lưu trữ trong các chỉ mục.
Nhiều cài đặt tạo cụm cơ sở dữ kèo chấp bóng đá hôm nay của họ trên hệ thống tệp (tập) khác với máy"Root"Khối lượng. Nếu bạn chọn làm điều này, không nên cố gắng sử dụng thư mục hàng đầu của âm lượng thứ cấp (điểm gắn kết) làm thư mục dữ kèo chấp bóng đá hôm nay.PostgreSQLNgười dùng, sau đó tạo thư mục dữ kèo chấp bóng đá hôm nay trong đó. Điều này tránh các vấn đề về quyền, đặc biệt đối với các hoạt động nhưpg_upgrade, Và nó cũng đảm bảo các lỗi sạch nếu âm lượng thứ cấp được thực hiện ngoại tuyến.
Nhiều cài đặt tạo cụm cơ sở dữ kèo chấp bóng đá hôm nay của họ trên các hệ thống tệp mạng. Đôi khi điều này được thực hiện thông quaNFShoặc bằng cách sử dụng lưu trữ đính kèm mạng (NAS) Thiết bị sử dụngNFSnội bộ.PostgreSQLKhông có gì đặc biệt choNFSHệ thống tệp, có nghĩa là nó giả sửNFShành xử chính xác giống như các ổ đĩa được kết nối cục bộ. Nếu máy khách hoặc máy chủNFSTriển khai không cung cấp ngữ nghĩa hệ thống tệp tiêu chuẩn, điều này có thể gây ra các vấn đề về độ tin cậy (xemhttp: //www.time-traveller.org/shane/papers/nfs_considered_harmful.html). Cụ thể, bị trì hoãn (không đồng bộ) ghi vàoNFSMáy chủ có thể gây ra các vấn đề tham nhũng dữ kèo chấp bóng đá hôm nay. Nếu có thể, hãy gắnNFSHệ thống tệp đồng bộ (không có bộ đệm) để tránh nguy cơ này. Ngoài ra, gắn mềmNFSHệ thống tệp không được khuyến nghị.
Mạng khu vực lưu trữ (san) Thông thường sử dụng các giao thức giao tiếp khácNFS, và có thể hoặc không thể phải chịu các mối nguy hiểm thuộc loại này. Nên tham khảo tài kèo chấp bóng đá hôm nay của nhà cung cấp liên quan đến đảm bảo tính nhất quán dữ kèo chấp bóng đá hôm nay.PostgreSQLKhông thể đáng tin cậy hơn hệ thống tệp mà nó đang sử dụng.