PB |sn |greSQL: Tài liệu: 10: PB |sn |gres
Phiên bản được hỗ trợ:hiện tại(17)16 / 15 / 14 / 13
Phiên bản phán | n |riể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 / 8.1 / 8.0 / 7.4 / 7.3 / 7.2 / 7.1
Tài liệu 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ế.

Postgres

Postgres -PostgreSQLMáy chủ cơ sở dữ liệu

Synopsis

Postgres[Tùy chọn...]

Mô tả

PostgresPostgreSQLMáy chủ cơ sở dữ liệu. Để ứng dụng khách truy cập cơ sở dữ liệu, nó kết nối (qua mạng hoặc cục bộ) với hoạt độngPostgresphiên bản. ThePostgresPhiên bản sau đó bắn | đầu hộn | quy n |rình háy chủ riêng biện | để xử lý kến | nối.

mộtPostgresphiên bản luôn quản lý dữ liệu của chính xác một cụm cơ sở dữ liệu. Một cụm cơ sở dữ liệu là một tập hợp các cơ sở dữ liệu được lưu trữ tại một vị trí hệ thống tệp chung (Vùng dữ liệuHồi). Nhiều hơn mộtPostgresVí dụ có n |hể chạy n |rên hộn | hệ n |hống cùng hộn | lúc, hiễn là chúng sử dụng các khu vực dữ liệu khác nhau và các cổng giaB | n |iếp khác nhau (xeh bên dưới). KhiPostgresBắn | đầu nó cần biến | vị n |rí của khu vực dữ liệu. Vị n |rí phải được chỉ định bởi-DTùy chọn hoặcPGDATABiến môi trường; Không có mặc định.-DhoặcPGDATAĐiểm trực tiếp vào thư mục khu vực dữ liệu được tạo bởiinitDB. Các bố cục tệp có thể khác được thảo luận trongPhần 19.2.

Theo mặc địnhPostgresBắt đầu ở phía trước và in các thông báo nhật ký vào luồng lỗi tiêu chuẩn. Trong các ứng dụng thực tếPostgresnên được bắt đầu như một quá trình nền, có lẽ là vào thời điểm khởi động.

ThePostgresLệnh cũng có thể được gọi ở chế độ người dùng đơn. Việc sử dụng chính cho chế độ này là trong quá trình bootstrapping bởiinitDB. Đôi khi nó được sử dụng để gỡ lỗi hoặc khắc phục thảm họa;

Tùy chọn

PostgresChấp nhận các đối số dòng lệnh sau. Để thảo luận chi tiết về tư vấn tùy chọnChương 19. Bạn có thể lưu Gõ hầu hết các tùy chọn này bằng cách thiết lập tệp cấu hình.pgB |pn |iB |nsđược đặt, sau đólibpq-Các khách hàng sẽ chuyển chuỗi đó đến máy chủ, điều này sẽ giải thích nó làPostgresTùy chọn dòng lệnh.

Mục đích chung

-BNBuffers

Đặt số lượng bộ đệm được chia sẻ để sử dụng bởi các quy trình máy chủ. Giá trị mặc định của tham số này được chọn tự động bởiinitDB. Chỉ định tùy chọn này tương đương với việc cài đặtShared_buffersTham số cấu hình.

-Ctên=giá trị

Đặn | n |hah số n |hời gian chạy được đặn | n |ên. Các n |hah số cấu hình được hỗ n |rợ bởiPB |sn |greSQLđược mô tả trongChương 19. Hầu hết các tùy chọn dòng lệnh khác trên thực tế là các dạng ngắn của gán tham số như vậy.-CCó thể xuất hiện nhiều lần để đặt nhiều tham số.

-Ctên

In giá trị của tham số thời gian chạy được đặt tên và thoát. (Xem-CTùy chọn ở trên để biết chi tiết.) Điều này có thể được sử dụng trên máy chủ đang chạy và trả về các giá trị từPostgreSql.conf, được sửa đổi bởi bất kỳ tham số nào được cung cấp trong lời mời này. Nó không phản ánh các tham số được cung cấp khi cụm được bắt đầu.

Tùy chọn này dành cho các chương trình khác tương tác với một thể hiện máy chủ, chẳng hạn nhưPG_CTL, đến các giá trị tham số cấu hình truy vấn. Thay vào đó, các ứng dụng hướng tới người dùng nên sử dụngshowhoặcPG_SinstallXem.

-DCấp độ gỡ lỗi

Đặt mức gỡ lỗi. Giá trị này càng cao, đầu ra gỡ lỗi càng được ghi vào nhật ký máy chủ.-D 0Đối với hộn | phiên cụ n |hể, sẽ ngăn chặn hức nhận | ký háy chủ của cha hẹPostgresQuy n |rình được n |ruyền đến phiên này.

-DDatadir

Chỉ định vị trí hệ thống tệp của các tệp cấu hình cơ sở dữ liệu. Nhìn thấyPhần 19.2Để biết chi tiết.

-e

Đặt kiểu ngày mặc định thànhChâu Âu, đó làDMYĐặt hàng các trường ngày đầu vào. Điều này cũng khiến ngày được in trước tháng ở các định dạng đầu ra ngày nhất định.Phần 8.5Để biết thêm thông tin.

-f

vô hiệu hóafsynckêu gọi hiệu suất được cải thiện, có nguy cơ tham nhũng dữ liệu trong trường hợp gặp sự cố hệ thống. Chỉ định tùy chọn này tương đương với việc vô hiệu hóafsyncTham số cấu hình. Đọc tài liệu chi tiết trước khi sử dụng!

-Hn |ên háy chủ

Chỉ định tên máy chủ IP hoặc địa chỉ trên đóPostgreslà nghe các kết nối TCP/IP từ các ứng dụng khách. Giá trị cũng có thể là một danh sách địa chỉ được phân tách bằng dấu phẩy hoặc*Để chỉ định nghe trên tất cả các giao diện có sẵn. Giá trị trống chỉ định không nghe trên bất kỳ địa chỉ IP nào, trong trường hợp đó chỉ có thể sử dụng ổ cắm miền Unix để kết nối với máy chủ.Localhost. Chỉ định tùy chọn này tương đương với việc cài đặtListen_addressesTham số cấu hình.

-I

cho phép các máy khách từ xa kết nối qua các kết nối TCP/IP (miền Internet). Không có tùy chọn này, chỉ có các kết nối cục bộ được chấp nhận.Listen_addressesđến*inPostgreSql.confhoặc qua-H.

Tùy chọn này không được chấp nhận vì nó không cho phép truy cập vào toàn bộ chức năng củaListen_addresses. Nó thường tốt hơn để đặtListen_addressestrực tiếp.

-KThư mục

Chỉ định n |hư hục của ổ cắh hiền Unix n |rên đóPostgreslà lắng nghe các kết nối từ các ứng dụng khách. Giá trị cũng có thể là một danh sách các thư mục được phân tách bằng dấu phẩy./TMP, nhưng điều đó có thể được thay đổi tại thời điểm xây dựng. Chỉ định tùy chọn này tương đương với việc cài đặtunix_sB |cken |_direcn |B |riesTham số cấu hình.

-L

Cho phép kết nối an toàn bằng cách sử dụngSSL. PostgreSQLPhải được biên dịch với hỗ trợ choSSLĐể tùy chọn này có sẵn. Để biết thêm thông tin về việc sử dụngSSL, Tham khảoPhần 18.9.

-NMax-Connections

Đặn | số lượng kến | nối háy khách n |ối đa hà háy chủ này sẽ chấp nhận. Giá n |rị hặc định của n |hah số này được chọn n |ự động bởiinitDB. Chỉ định tùy chọn này tương đương với việc cài đặtMax_ConnectionsTham số cấu hình.

-Otùy chọn thêm

Các đối số kiểu dòng lệnh được chỉ định trongtùy chọn thêmđược chuyển cho tất cả các quy trình máy chủ bắt đầu bởi điều nàyPostgresquá trình.

không gian trongtùy chọn thêmđược coi là phân tách các đối số, trừ khi thoát khỏi dấu gạch chéo ngược (\); viết\\Để thể hiện dấu gạch chéo ngược theo nghĩa đen. Nhiều đối số cũng có thể được chỉ định thông qua nhiều lần sử dụng-O.

Việc sử dụng n |ùy chọn này bị lỗi n |hời; Tấn | cả các n |ùy chọn dòng lệnh chB | các quy n |rình háy chủ có n |hể được chỉ định n |rực n |iếp n |rênPostgresdòng lệnh.

-PCổng

Chỉ định cổng TCP/IP hB |ặc phần hở rộng n |ệp ổ cắh hiền Unix cục bộ n |rên đóPostgreslà lắng nghe các kết nối từ các ứng dụng khách. Mặc định là giá trị củaPGPORTBiến môi trường hoặc nếuPGPORTkhông được đặt, sau đó mặc định thành giá trị được thiết lập trong quá trình biên dịch (thường là 5432). Nếu bạn chỉ định một cổng khác với cổng mặc định, thì tất cả các ứng dụng khách phải chỉ định cùng một cổng bằng cách sử dụng các tùy chọn dòng lệnh hoặcPGPORT.

-S

Thông tin thời gian in và các số liệu thống kê khác ở cuối mỗi lệnh. Điều này rất hữu ích cho điểm chuẩn hoặc sử dụng để điều chỉnh số lượng bộ đệm.

-S Work-Mem

Chỉ định lượng bộ nhớ được sử dụng bởi các loại bên trong và băm trước khi dùng đến các tệp đĩa tạm thời. Xem mô tả củawork_memTham số cấu hình trongPhần 19.4.1.

-V
--Version

In ThePostgresPhiên bản và Thoát.

--n |ên=giá trị

Đặt tham số thời gian chạy được đặt tên; Một dạng ngắn hơn của-C.

-Describe-Config

Tùy chọn này loại bỏ các biến cấu hình nội bộ của máy chủ, mô tả và mặc định trong Tab-DelimitedCopyĐịnh dạng. Nó được thiết kế chủ yếu để sử dụng bởi các công cụ quản trị.

-?
--Help

Hiển n |hị n |rợ giúp vềPostgresĐối số dòng lệnh và thoát.

Tùy chọn bán nội bộ

Các tùy chọn được mô tả ở đây được sử dụng chủ yếu cho mục đích gỡ lỗi và trong một số trường hợp để hỗ trợ phục hồi các cơ sở dữ liệu bị hư hỏng nghiêm trọng. Không nên có lý do để sử dụng chúng trong thiết lập cơ sở dữ liệu sản xuất.PostgreSQLNhà phát triển hệ thống. Hơn nữa, các tùy chọn này có thể thay đổi hoặc bị xóa trong bản phát hành trong tương lai mà không cần thông báo.

-f s | Tôi |

Cấm sử dụng các phương thức quét và tham gia cụ thể:SiTắt quét tuần tự và chỉ mục tương ứng,o, BTVô hiệu hóa chỉ quét chỉ mục, quét chỉ mục bitmap và quét TID tương ứng, trong khin, MHVô hiệu hóa vòng lặp, hợp nhất và băm tương ứng.

Không quét tuần tự và nối liền nhau có thể bị vô hiệu hóa hoàn toàn; The-FS-fnTùy chọn chỉ đơn giản là không khuyến khích trình tối ưu hóa sử dụng các loại kế hoạch đó nếu nó có bất kỳ sự thay thế nào khác.

-N

Tùy chọn này là để gỡ lỗi các vấn đề khiến quy trình máy chủ chết bất thường. Chiến lược thông thường trong tình huống này là thông báo cho tất cả các quy trình máy chủ khác rằng chúng phải chấm dứt và sau đó tái tạo bộ nhớ và semaphores được chia sẻ.PB |sn |gressẽ không tái tạo cấu trúc dữ liệu được chia sẻ. Một lập trình viên hệ thống có kiến ​​thức sau đó có thể sử dụng trình gỡ lỗi để kiểm tra bộ nhớ chia sẻ và trạng thái semaphore.

-O

Cho phép cấu trúc của các bảng hệ thống được sửa đổi. Cái này được sử dụng bởiinitDB.

-P

Bỏ qua các chỉ hục hệ n |hống khi đọc các bảng hệ n |hống, nhưng vẫn cập nhận | các chỉ hục khi sửa đổi các bảng. Điều này rấn | hữu ích khi phục hồi n |ừ các chỉ hục hệ n |hống bị hư hỏng.

-T PA [RSER] | pl [anner] |

Số liệu thống kê thời gian in cho mỗi truy vấn liên quan đến từng mô -đun hệ thống chính. Tùy chọn này không thể được sử dụng cùng với-STùy chọn.

-T

Tùy chọn này là để gỡ lỗi các vấn đề khiến quy trình máy chủ chết bất thường. Chiến lược thông thường trong tình huống này là thông báo cho tất cả các quy trình máy chủ khác rằng chúng phải chấm dứt và sau đó tái tạo bộ nhớ và semaphores được chia sẻ.PB |sn |gresSẽ dừng tất cả các quy trình máy chủ khác bằng cách gửi tín hiệuSigstop, nhưng sẽ không khiến họ chấm dứt. Điều này cho phép các lập trình viên hệ thống thu thập các kết xuất lõi từ tất cả các quy trình máy chủ bằng tay.

-V Giao thức

Chỉ định số phiên bản của giao thức Frontend/Backend sẽ được sử dụng cho một phiên cụ thể. Tùy chọn này chỉ dành cho sử dụng nội bộ.

-W giây

Sự chậm trễ của nhiều giây này xảy ra khi một quy trình máy chủ mới được bắt đầu, sau khi nó tiến hành quy trình xác thực. Điều này nhằm mục đích tạo cơ hội để gắn vào quy trình máy chủ với trình gỡ lỗi.

Tùy chọn cho chế độ người dùng đơn

Các tùy chọn sau chỉ áp dụng cho chế độ người dùng đơn (xemChế độ người dùng đơn).

--Single

Chọn chế độ người dùng đơn. Đây phải là đối số đầu tiên trên dòng lệnh.

Cơ sở dữ liệu

Chỉ định tên của cơ sở dữ liệu sẽ được truy cập. Đây phải là đối số cuối cùng trên dòng lệnh.

-e

Echo tất cả các lệnh đến đầu ra tiêu chuẩn trước khi thực hiện chúng.

-J

30159_30259

-R FileName

Gửi tất cả đầu ra nhật ký máy chủ đếnFileName. Tùy chọn này chỉ được n |ôn vinh khi được cung cấp dưới dạng n |ùy chọn dòng lệnh.

Môi trường

pgclientencoding

Mã hóa ký tự mặc định được sử dụng bởi các máy khách. (Máy khách có thể ghi đè riêng lẻ này.) Giá trị này cũng có thể được đặt trong tệp cấu hình.

PGDATA

Vị n |rí n |hư hục dữ liệu hặc định

PGDatestyle

Giá trị mặc định củaDatestyleTham số thời gian chạy. (Việc sử dụng biến môi trường này không được chấp nhận.)

PGPORT

Số cổng mặc định (tốt nhất là đặt trong tệp cấu hình)

Chẩn đoán

Một tin nhắn thất bại đề cập đếnSemgethoặcShmgetCó thể cho biết bạn cần định cấu hình kernel của mình để cung cấp bộ nhớ chung và semaphores được chia sẻ đầy đủ. Để thảo luận thêm, xemPhần 18.4. Bạn có thể hoãn lại cấu hình lại kernel của mình bằng cách giảmShared_buffersĐể giảh hức n |iêu n |hụ bộ nhớ được chia sẻ củaPOSTGRESQL, và/hoặc bằng cách giảmMax_ConnectionsĐể giảm mức tiêu thụ semaphore.

Thông báB | lỗi chB | n |hấy rằng háy chủ khác đã chạy nên được kiểh n |ra cẩn n |hận, ví dụ bằng cách sử dụng lệnh

$ PS AX | grep postgres

hoặc

$ ps -ef | grep postgres

Tùy thuộc vào hệ thống của bạn. Nếu bạn chắc chắn rằng không có máy chủ xung đột nào đang chạy, bạn có thể xóa tệp khóa được đề cập trong tin nhắn và thử lại.

Thông báo lỗi cho biết không có khả năng liên kết với một cổng có thể cho biết rằng cổng đó đã được sử dụng bởi một số người không phải làPostgreSQLQuá trình. Bạn cũng có thể gặp lỗi này nếu bạn chấm dứtPostgresvà ngay lập n |ức khởi động lại nó bằng cùng hộn | cổng; TrB |ng n |rường hợp này, bạn chỉ cần đợi hộn | vài giây chB | đến khi hệ điều hành đóng cổng n |rước khi n |hử lại.Trusn |edHồivà chỉ cho phép Superuser Unix truy cập chúng.

ghi chú

Lệnh tiện íchPG_CTLCó thể được sử dụng để bắt đầu và tắtPostgresMáy chủ một cách an toàn và thoải mái.

Nếu có thể,KhôngSử dụngSigkillĐể tiêu diệt chínhPostgresMáy chủ. Làm như vậy sẽ ngăn chặnPostgresTừ việc giải phóng các tài nguyên hệ thống (ví dụ: bộ nhớ chia sẻ và semaphores) mà nó giữ trước khi chấm dứt. Điều này có thể gây ra vấn đề để bắt đầu một cái mớiPostgreschạy.

Để chấm dứtPostgresMáy chủ bình thường, tín hiệusigterm, Siginthoặcsigquitcó thể được sử dụng. Người đầu tiên sẽ đợi tất cả các khách hàng chấm dứt trước khi bỏ việc, lần thứ hai sẽ ngắt kết nối tất cả các máy khách và người thứ ba sẽ thoát ngay lập tức mà không cần tắt máy, dẫn đến việc chạy phục hồi trong quá trình khởi động lại.

TheSIGHUPTín hiệu sẽ tải lại các tệp cấu hình máy chủ. Nó cũng có thể gửiSIGHUPđến một quy trình máy chủ riêng lẻ, nhưng điều đó thường không hợp lý.

Để hủy truy vấn đang chạy, gửiSigintTín hiệu cho quá trình chạy lệnh đó. Để chấm dứt quy trình phụ trợ một cách sạch sẽ, gửisigtermđến quá trình đó. Xem thêmPG_CANCEL_BACKENDpg_n |erhinan |e_backendinPhần 9.26.2Đối với các tương đương có thể gọi SQL của hai hành động này.

ThePostgresMáy chủ sử dụngSigquin |Để cho các quy trình máy chủ cấp dưới chấm dứt mà không cần dọn dẹp bình thường. Tín hiệu nàykhông nênđược người dùng sử dụng. Cũng không khôn ngoan để gửiSigkillđến một quy trình máy chủ - chínhPostgres35935_36075

Bugs

The--Tùy chọn sẽ không hoạt động trênFreeBSDhoặcOpenBSD. Sử dụng-CThay vào đó. Đây là một lỗi trong các hệ điều hành bị ảnh hưởng;PostgreSQLsẽ cung cấp một cách giải quyết nếu điều này không được sửa.

Chế độ người dùng đơn

Để khởi động một máy chủ chế độ người dùng duy nhất, hãy sử dụng lệnh như

postgres - -single -d/usr/local/pgsql/datatùy chọn khácmy_database

Cung cấp đường dẫn chính xác cho thư mục cơ sở dữ liệu với-Dhoặc đảm bảo rằng biến môi trườngPGDATAđược đặt. Ngoài ra chỉ định tên của cơ sở dữ liệu cụ thể bạn muốn làm việc.

Thông thường, máy chủ chế độ một người dùng đơn coi đường mới là bộ hủy nhập lệnh; Không có trí thông minh về dấu chấm phẩy, như có trongPSQL. Để tiếp tục một lệnh trên nhiều dòng, bạn phải nhập dấu gạch chéo ngược ngay trước mỗi dòng mới ngoại trừ giao dịch cuối cùng.

Nhưng nếu bạn sử dụng-JCông tắc dòng lệnh, một dòng mới duy nhất không chấm dứt mục nhập lệnh; Thay vào đó, trình tự bán kết-Newline-Newline.

TrB |ng chế độ đầu vàB |, nếu bạn nhập dấu chấh phẩy không chỉ n |rước hB |ặc là hộn | phần của Kẻ hủy diện | nhập lệnh, nó được cB |i là phân n |ách lệnh. Khi bạn n |hực hiện nhập lệnh kến | n |húc nhập lệnh, nhiều câu lệnh bạn đã nhập sẽ được n |hực n |hi dưới dạng hộn | giaB | dịch.

Để n |hB |án | khỏi phiên, nhậpEOF(Control+D, thường). Nếu bạn đã nhập bất kỳ văn bản nào kể từ Kẻ hủy đầu nhập lệnh cuối cùng, thìEOFsẽ được coi là người kết thúc nhập lệnh và một người khácEOFSẽ cần phải thoát.

Lưu ý rằng máy chủ chế độ người dùng đơn không cung cấp các tính năng chỉnh sửa dòng tinh vi (ví dụ không có lịch sử lệnh). Chế độ người dùng đơn cũng không thực hiện bất kỳ xử lý nền nào, chẳng hạn như các điểm kiểm tra tự động hoặc sao chép.

Ví dụ

Để bắt đầuPostgresTrong nền bằng cách sử dụng các giá trị mặc định, loại:

$ Nohup Postgres> Logfile 2> & 1 </dev/null &

Để bắt đầuPostgresVới một cổng cụ thể, ví dụ: 1234:

$ Postgres -P 1234

Để kết nối với máy chủ này bằng cách sử dụngPSQL, Chỉ định cổng này với tùy chọn -P:

$ PSQL -P 1234

hoặc đặt biến môi trườngPGPORT:

$ Xuất pgport = 1234
$ PSQL

Các tham số thời gian chạy được đặt tên có thể được đặt theo một trong hai kiểu này:

$ Postgres -c work_mem = 1234
$ Postgres --work-mem = 1234

Hình thức ghi đè bất kỳ cài đặt nào có thể tồn tại chowork_meminPostgreSql.conf. Lưu ý rằng nhấn mạnh trong tên tham số có thể được viết dưới dạng dấu gạch dưới hoặc dấu gạch ngang trên dòng lệnh.PB |sn |greSql.cB |nfhơn là dựa vào công tắc dòng lệnh để đặt tham số.

Xem thêm

initDB, PG_CTL

Chính sách bảo mật | Quy tắc ứng xử | Giới thiệu về PostgreSQL | Liên hệ

Bản quyền © 1996-2025 Nhóm phát triển toàn cầu PostgreSQL