Đây là psql lệnh có thể chạy trong nhà cung cấp dịch vụ lưu trữ miễn phí OnWorks bằng cách sử dụng một trong nhiều máy trạm trực tuyến miễn phí của chúng tôi như Ubuntu Online, Fedora Online, trình giả lập trực tuyến Windows hoặc trình mô phỏng trực tuyến MAC OS
CHƯƠNG TRÌNH:
TÊN
psql - Thiết bị đầu cuối tương tác PostgreSQL
SYNOPSIS
psql [tùy chọn...] [tên cơ sở dữ liệu [tên truy nhập]]
MÔ TẢ
psql là một giao diện người dùng dựa trên thiết bị đầu cuối cho PostgreSQL. Nó cho phép bạn nhập các truy vấn
tương tác, cấp chúng cho PostgreSQL và xem kết quả truy vấn. Ngoài ra, đầu vào
có thể từ một tệp. Ngoài ra, nó cung cấp một số lệnh meta và nhiều
các tính năng giống như shell để tạo điều kiện thuận lợi cho việc viết script và tự động hóa nhiều tác vụ khác nhau.
LỰA CHỌN
-a
--ho-tất cả
In tất cả các dòng đầu vào rỗng ra đầu ra tiêu chuẩn khi chúng được đọc. (Điều này không
áp dụng cho các dòng được đọc tương tác.) Điều này tương đương với việc thiết lập biến ECHO đến
tất cả các.
-A
- không căn chỉnh
Chuyển sang chế độ đầu ra không được đánh dấu. (Chế độ đầu ra mặc định được căn chỉnh khác.)
-b
--echo-error
In các lệnh SQL không thành công ra đầu ra lỗi tiêu chuẩn. Điều này tương đương với việc thiết lập
biến ECHO đến lỗi.
-c lệnh
- câu lệnh =lệnh
Chỉ định rằng psql là để thực thi một chuỗi lệnh, lệnh, và sau đó thoát. Đây là
hữu ích trong các tập lệnh shell. Tệp khởi động (psqlrc và ~ / .psqlrc) được bỏ qua với điều này
tùy chọn.
lệnh phải là một chuỗi lệnh mà máy chủ hoàn toàn có thể phân tích cú pháp
(tức là, nó không chứa các tính năng dành riêng cho psql) hoặc một lệnh dấu gạch chéo ngược. Vì vậy bạn
không thể kết hợp các lệnh meta SQL và psql với tùy chọn này. Để đạt được điều đó, bạn có thể
chuyển chuỗi vào psql, ví dụ: echo '\ x \\ SELECT * FROM foo;' | psql. (\\ Là
lệnh meta dấu phân tách.)
Nếu chuỗi lệnh chứa nhiều lệnh SQL, chúng được xử lý trong một
giao dịch, trừ khi có BEGIN/CAM KẾT các lệnh bao gồm trong chuỗi để
chia nó thành nhiều giao dịch. Điều này khác với hành vi khi
cùng một chuỗi được đưa vào đầu vào tiêu chuẩn của psql. Ngoài ra, chỉ kết quả của SQL cuối cùng
lệnh được trả về.
Do các hành vi kế thừa này, việc đặt nhiều lệnh trong -c chuỗi
thường có kết quả bất ngờ. Tốt hơn nên nạp nhiều lệnh theo tiêu chuẩn của psql
đầu vào, sử dụng echo như minh họa ở trên hoặc thông qua shell here-document, cho
thí dụ:
psql <
\x
CHỌN * TỪ foo;
EOF
-d tên cơ sở dữ liệu
--dbname =tên cơ sở dữ liệu
Chỉ định tên của cơ sở dữ liệu để kết nối. Điều này tương đương với việc chỉ định
tên cơ sở dữ liệu là đối số không phải tùy chọn đầu tiên trên dòng lệnh.
Nếu tham số này chứa dấu = hoặc bắt đầu bằng tiền tố URI hợp lệ (postgresql: //
hoặc postgres: //), nó được coi là thông tin liên lạc dây. Xem Phần 31.1.1, “Kết nối
Strings ”, trong tài liệu để biết thêm thông tin.
-e
--echo-truy vấn
Sao chép tất cả các lệnh SQL được gửi đến máy chủ sang đầu ra tiêu chuẩn. Đây là
tương đương với việc thiết lập biến ECHO cho các truy vấn.
-E
--echo ẩn
Đưa ra các truy vấn thực tế được tạo bởi \d và các lệnh gạch chéo ngược khác. Bạn có thể sử dụng cái này
để nghiên cứu các hoạt động nội bộ của psql. Điều này tương đương với việc đặt biến
ECHO_HIDDEN tiếp tục.
-f tên tập tin
--tệp =tên tập tin
Sử dụng tệp tên tập tin như là nguồn của các lệnh thay vì đọc các lệnh
một cách tương tác. Sau khi tệp được xử lý, psql kết thúc. Điều này theo nhiều cách
tương đương với lệnh meta \i.
If tên tập tin là - (gạch nối), sau đó đầu vào tiêu chuẩn được đọc cho đến khi chỉ báo EOF hoặc \q
lệnh meta. Tuy nhiên, lưu ý rằng Readline không được sử dụng trong trường hợp này (nhiều khi -n có
được chỉ định).
Sử dụng tùy chọn này khác một cách tinh tế so với viết psql tên tập tin. Nói chung, cả hai
sẽ làm những gì bạn mong đợi, nhưng sử dụng -f cho phép một số tính năng hay, chẳng hạn như lỗi
tin nhắn có số dòng. Cũng có một chút cơ hội là sử dụng tùy chọn này sẽ
giảm chi phí khởi động. Mặt khác, biến thể sử dụng đầu vào của shell
chuyển hướng (về lý thuyết) được đảm bảo mang lại chính xác cùng một sản lượng mà bạn sẽ có
nhận được nếu bạn nhập mọi thứ bằng tay.
-F phân cách
- dấu phân cách trường =phân cách
Sử dụng phân cách làm dấu phân tách trường cho đầu ra không được đánh dấu. Điều này tương đương với \ pset
cánh đồng or \f.
-h hostname
--host =hostname
Chỉ định tên máy chủ của máy mà máy chủ đang chạy. Nếu giá trị
bắt đầu bằng dấu gạch chéo, nó được sử dụng làm thư mục cho ổ cắm miền Unix.
-H
--html
Bật đầu ra dạng bảng HTML. Điều này tương đương với định dạng \ pset html hoặc \H
chỉ huy.
-l
--danh sách
Liệt kê tất cả các cơ sở dữ liệu có sẵn, sau đó thoát. Các tùy chọn không kết nối khác bị bỏ qua.
Điều này tương tự với lệnh meta \danh sách.
-L tên tập tin
--log-file =tên tập tin
Ghi tất cả kết quả truy vấn vào tệp tên tập tin, ngoài đầu ra bình thường
Nơi Đến.
-n
--không-đọc dòng
Không sử dụng Readline để chỉnh sửa dòng và không sử dụng lịch sử lệnh. Điều này có thể là
hữu ích để tắt mở rộng tab khi cắt và dán.
-o tên tập tin
--output =tên tập tin
Đưa tất cả kết quả truy vấn vào tệp tên tập tin. Điều này tương đương với lệnh \o.
-p cổng
--port =cổng
Chỉ định cổng TCP hoặc phần mở rộng tệp ổ cắm miền Unix cục bộ mà trên đó
máy chủ đang lắng nghe các kết nối. Mặc định là giá trị của PGPORT môi trường
biến hoặc, nếu không được đặt, thành cổng được chỉ định tại thời điểm biên dịch, thường là 5432.
-P chuyển nhượng
--pset =chuyển nhượng
Chỉ định các tùy chọn in, theo kiểu \ pset. Lưu ý rằng ở đây bạn phải tách
tên và giá trị bằng dấu bằng thay vì dấu cách. Ví dụ, để đặt đầu ra
định dạng thành LaTeX, bạn có thể viết định dạng -P = latex.
-q
--Yên lặng
Chỉ định rằng psql sẽ thực hiện công việc của nó một cách lặng lẽ. Theo mặc định, nó in các tin nhắn chào mừng
và đầu ra thông tin khác nhau. Nếu tùy chọn này được sử dụng, không có trường hợp nào xảy ra. Cái này
hữu ích với -c Lựa chọn. Điều này tương đương với việc đặt biến YÊN TĨNH tiếp tục.
-R phân cách
--record-partition =phân cách
Sử dụng phân cách làm dấu phân tách bản ghi cho đầu ra không được đánh dấu. Điều này tương đương với
\ pset hồ sơ chỉ huy.
-s
- bước đơn lẻ
Chạy ở chế độ một bước. Điều đó có nghĩa là người dùng được nhắc trước khi mỗi lệnh được gửi đi
đến máy chủ, với tùy chọn hủy thực thi. Sử dụng điều này để gỡ lỗi các tập lệnh.
-S
- dòng đơn
Chạy ở chế độ một dòng trong đó dòng mới kết thúc lệnh SQL, dưới dạng dấu chấm phẩy
không.
Chú thích
Chế độ này được cung cấp cho những người nhấn mạnh vào nó, nhưng bạn không nhất thiết phải
khuyến khích sử dụng nó. Đặc biệt, nếu bạn kết hợp SQL và lệnh meta trên một dòng
thứ tự thực hiện có thể không phải lúc nào cũng rõ ràng đối với người dùng thiếu kinh nghiệm.
-t
- chỉ dành cho đơn hàng
Tắt tính năng in tên cột và chân trang đếm hàng kết quả, v.v. Đây là
tương đương với \t chỉ huy.
-T bảng_tùy chọn
--table-attr =bảng_tùy chọn
Chỉ định các tùy chọn được đặt trong thẻ bảng HTML. Nhìn thấy \ pset để biết thêm chi tiết.
-U tên truy nhập
- tên người dùng =tên truy nhập
Kết nối với cơ sở dữ liệu với tư cách là người dùng tên truy nhập thay vì mặc định. (Bạn phải có
tất nhiên là được phép làm như vậy.)
-v chuyển nhượng
- bộ =chuyển nhượng
--variable =chuyển nhượng
Thực hiện một phép gán có thể thay đổi, như \bộ lệnh meta. Lưu ý rằng bạn phải tách
tên và giá trị, nếu có, bằng một dấu bằng trên dòng lệnh. Để bỏ đặt một biến,
bỏ dấu bằng. Để đặt một biến có giá trị trống, hãy sử dụng dấu bằng
nhưng bỏ đi giá trị. Những nhiệm vụ này được thực hiện trong giai đoạn rất sớm của
khởi động, vì vậy các biến dành riêng cho mục đích nội bộ có thể bị ghi đè sau này.
-V
--phiên bản
In phiên bản psql và thoát.
-w
--không mật khẩu
Không bao giờ đưa ra lời nhắc mật khẩu. Nếu máy chủ yêu cầu xác thực mật khẩu và
mật khẩu không khả dụng bằng các phương tiện khác như tệp .pgpass, kết nối
cố gắng sẽ thất bại. Tùy chọn này có thể hữu ích trong các công việc hàng loạt và tập lệnh mà không có người dùng
có mặt để nhập mật khẩu.
Lưu ý rằng tùy chọn này sẽ vẫn được đặt cho toàn bộ phiên và do đó, nó ảnh hưởng đến việc sử dụng
của lệnh meta \liên kết cũng như nỗ lực kết nối ban đầu.
-W
--mật khẩu mở khóa
Buộc psql nhắc nhập mật khẩu trước khi kết nối với cơ sở dữ liệu.
Tùy chọn này không bao giờ cần thiết, vì psql sẽ tự động nhắc nhập mật khẩu nếu
máy chủ yêu cầu xác thực mật khẩu. Tuy nhiên, psql sẽ lãng phí kết nối
cố gắng tìm ra rằng máy chủ muốn mật khẩu. Trong một số trường hợp, nó đáng để đánh máy
-W để tránh cố gắng kết nối thêm.
Lưu ý rằng tùy chọn này sẽ vẫn được đặt cho toàn bộ phiên và do đó, nó ảnh hưởng đến việc sử dụng
của lệnh meta \liên kết cũng như nỗ lực kết nối ban đầu.
-x
- mở rộng
Bật chế độ định dạng bảng mở rộng. Điều này tương đương với \x chỉ huy.
-NS,
--no-psqlrc
Không đọc tệp khởi động (không phải tệp psqlrc toàn hệ thống cũng như của người dùng
~ / .psqlrc nộp).
-z
- trường-phân tách-không
Đặt dấu phân cách trường cho đầu ra không dấu thành byte XNUMX.
-0
--record-partition-zero
Đặt dấu phân tách bản ghi cho đầu ra không dấu thành byte XNUMX. Điều này hữu ích cho
giao diện, ví dụ, với xargs -0.
-1
- giao dịch đơn lẻ
Khi psql thực thi một tập lệnh, việc thêm tùy chọn này sẽ kết thúc BEGIN/CAM KẾT xung quanh kịch bản
để thực hiện nó như một giao dịch duy nhất. Điều này đảm bảo rằng tất cả các lệnh
hoàn thành thành công hoặc không có thay đổi nào được áp dụng.
Nếu bản thân tập lệnh sử dụng BEGIN, CAM KẾT, hoặc là QUAY LẠI, tùy chọn này sẽ không có
các hiệu ứng mong muốn. Ngoài ra, nếu tập lệnh chứa bất kỳ lệnh nào không thể thực hiện được
bên trong một khối giao dịch, việc chỉ định tùy chọn này sẽ gây ra lệnh đó (và do đó
toàn bộ giao dịch) để thất bại.
-?
--help [=chủ đề]
Hiển thị trợ giúp về psql và thoát. Tùy chọn chủ đề tham số (mặc định cho các tùy chọn)
chọn phần nào của psql được giải thích: các lệnh mô tả các lệnh dấu gạch chéo ngược của psql;
tùy chọn mô tả các tùy chọn dòng lệnh có thể được chuyển đến psql; và các biến
hiển thị trợ giúp về các biến cấu hình psql.
EXIT TÌNH TRẠNG
psql trả về 0 cho shell nếu nó kết thúc bình thường, 1 nếu lỗi nghiêm trọng của chính nó xảy ra
(ví dụ: hết bộ nhớ, không tìm thấy tệp), 2 nếu kết nối với máy chủ bị lỗi và
phiên không tương tác và 3 nếu xảy ra lỗi trong tập lệnh và biến
ON_ERROR_STOP đã được thiết lập.
SỬ DỤNG
Kết nối đến a Cơ sở dữ liệu
psql là một ứng dụng khách PostgreSQL thông thường. Để kết nối với cơ sở dữ liệu, bạn
cần biết tên cơ sở dữ liệu mục tiêu của bạn, tên máy chủ và số cổng của
máy chủ và tên người dùng bạn muốn kết nối. psql có thể được nói về những
tham số thông qua các tùy chọn dòng lệnh, cụ thể là -d, -h, -pvà -U tương ứng. Nếu một
đối số được tìm thấy không thuộc bất kỳ tùy chọn nào, nó sẽ được hiểu là
tên cơ sở dữ liệu (hoặc tên người dùng, nếu tên cơ sở dữ liệu đã được cung cấp). Không phải tất cả những thứ này
các tùy chọn được yêu cầu; có các giá trị mặc định hữu ích. Nếu bạn bỏ qua tên máy chủ, psql sẽ
kết nối qua ổ cắm miền Unix với máy chủ trên máy chủ cục bộ hoặc qua TCP / IP tới máy chủ cục bộ
trên các máy không có ổ cắm miền Unix. Số cổng mặc định được xác định tại
thời gian biên dịch. Vì máy chủ cơ sở dữ liệu sử dụng cùng một mặc định, bạn sẽ không phải
chỉ định cổng trong hầu hết các trường hợp. Tên người dùng mặc định là tên người dùng hệ điều hành của bạn,
như là tên cơ sở dữ liệu mặc định. Lưu ý rằng bạn không thể chỉ kết nối với bất kỳ cơ sở dữ liệu nào dưới
bất kỳ tên người dùng nào. Quản trị viên cơ sở dữ liệu của bạn lẽ ra phải thông báo cho bạn về quyền truy cập của bạn
các quyền.
Khi các giá trị mặc định không hoàn toàn phù hợp, bạn có thể tiết kiệm cho mình một số thao tác nhập bằng cách đặt
biến môi trường cơ sở dữ liệu PG, PGHOST, PGPORT và / hoặc NGƯỜI DÙNG đến các giá trị thích hợp. (Vì
các biến môi trường bổ sung, xem Phần 31.14, “Biến Môi trường”, trong
tài liệu hướng dẫn.) Cũng rất tiện lợi khi có ~ / .pgpass tệp để tránh thường xuyên có
để nhập mật khẩu. Xem Phần 31.15, “Tệp mật khẩu”, trong tài liệu dành cho
thêm thông tin.
Một cách thay thế để chỉ định các tham số kết nối là thông tin liên lạc chuỗi hoặc một URI,
được sử dụng thay cho tên cơ sở dữ liệu. Cơ chế này cho phép bạn kiểm soát rất rộng
sự kết nối. Ví dụ:
$ psql "service = myservice sslmode = request "
$ psql postgresql: // dbmaster: 5433 / mydb? sslmode = request
Bằng cách này, bạn cũng có thể sử dụng LDAP để tra cứu thông số kết nối như được mô tả trong Phần
31.17, “LDAP Lookup of Connection Parameters”, trong tài liệu. Xem Phần 31.1.2,
“Các từ khóa tham số”, trong tài liệu để biết thêm thông tin về tất cả các từ có sẵn
các tùy chọn kết nối.
Nếu không thể thực hiện kết nối vì bất kỳ lý do gì (ví dụ: không đủ đặc quyền, máy chủ
không chạy trên máy chủ được nhắm mục tiêu, v.v.), psql sẽ trả về lỗi và chấm dứt.
Nếu cả đầu vào tiêu chuẩn và đầu ra tiêu chuẩn là một thiết bị đầu cuối, thì psql đặt máy khách
mã hóa thành "tự động", sẽ phát hiện mã hóa ứng dụng khách thích hợp từ ngôn ngữ
cài đặt (LC_CTYPE biến môi trường trên hệ thống Unix). Nếu điều này không thành công như
dự kiến, mã hóa máy khách có thể bị ghi đè bằng cách sử dụng biến môi trường
Mã hóa PGCLIENT.
Nhập SQL Lệnh
Trong hoạt động bình thường, psql cung cấp lời nhắc với tên của cơ sở dữ liệu mà psql là
hiện đang kết nối, theo sau là chuỗi =>. Ví dụ:
$ psql testdb
psql (9.5.2)
Gõ "help" để được trợ giúp.
testdb =>
Tại dấu nhắc, người dùng có thể nhập các lệnh SQL. Thông thường, các dòng đầu vào được gửi đến
máy chủ khi đến dấu chấm phẩy kết thúc lệnh. Một kết thúc của dòng không kết thúc
một lệnh. Vì vậy, các lệnh có thể được trải rộng trên một số dòng để rõ ràng. Nếu lệnh là
được gửi và thực hiện mà không có lỗi, kết quả của lệnh được hiển thị trên màn hình.
Bất cứ khi nào một lệnh được thực thi, psql cũng thăm dò các sự kiện thông báo không đồng bộ
được tạo ra bởi LISTEN(7) THÔNG BÁO(7).
Trong khi các nhận xét khối kiểu C được chuyển đến máy chủ để xử lý và xóa,
Các chú thích chuẩn SQL bị xóa bởi psql.
Lệnh Meta
Bất kỳ thứ gì bạn nhập vào psql bắt đầu bằng dấu gạch chéo ngược không được trích dẫn đều là lệnh meta psql
được xử lý bởi chính psql. Các lệnh này làm cho psql hữu ích hơn cho việc quản trị
hoặc viết kịch bản. Các lệnh meta thường được gọi là lệnh gạch chéo hoặc dấu gạch chéo ngược.
Định dạng của lệnh psql là dấu gạch chéo ngược, theo sau là động từ lệnh,
sau đó bất kỳ đối số. Các đối số được phân tách khỏi động từ mệnh lệnh và với nhau bởi
bất kỳ số lượng ký tự khoảng trắng nào.
Để bao gồm khoảng trắng trong một đối số, bạn có thể trích dẫn nó bằng các dấu nháy đơn. Để bao gồm một
trích dẫn đơn trong một đối số, viết hai trích dẫn đơn trong văn bản được trích dẫn đơn. Bất cứ điều gì
nằm trong các dấu ngoặc kép đơn lẻ cũng có thể thay thế giống C cho \ n (mới
line), \ t (tab), \ b (backspace), \ r (xuống dòng), \ f (form feed), \chữ số (bát phân),
và \ xchữ số (hệ thập lục phân). Dấu gạch chéo ngược đứng trước bất kỳ ký tự nào khác trong dấu nháy đơn
văn bản trích dẫn ký tự đơn đó, bất kể nó là gì.
Trong một đối số, văn bản được đặt trong dấu ngoặc kép (`) được coi là một dòng lệnh
được chuyển đến shell. Đầu ra của lệnh (với bất kỳ dòng mới nào bị xóa)
thay thế văn bản được trích dẫn lại.
Nếu một dấu hai chấm (:) không có dấu ngoặc kép theo sau là một tên biến psql xuất hiện trong một đối số, nó
được thay thế bằng giá trị của biến, như được mô tả trong Nội suy SQL.
Một số lệnh lấy mã định danh SQL (chẳng hạn như tên bảng) làm đối số. Những đối số này
tuân theo các quy tắc cú pháp của SQL: Các chữ cái không được trích dẫn buộc phải thành chữ thường, trong khi chữ cái kép
dấu ngoặc kép (") bảo vệ các chữ cái khỏi chuyển đổi trường hợp và cho phép kết hợp khoảng trắng vào
định danh. Trong dấu ngoặc kép, dấu ngoặc kép được ghép nối giảm thành dấu ngoặc kép đơn
trong tên kết quả. Ví dụ: FOO "BAR" BAZ được hiểu là fooBARbaz và "A
"tên" kỳ lạ trở thành một cái tên "kỳ lạ.
Việc phân tích cú pháp cho các đối số dừng ở cuối dòng hoặc khi một dấu gạch chéo ngược chưa được trích dẫn khác là
tìm. Dấu gạch chéo ngược không được trích dẫn được coi là phần đầu của lệnh meta mới. Cái đặc biệt
chuỗi \\ (hai dấu gạch chéo ngược) đánh dấu sự kết thúc của các đối số và tiếp tục phân tích cú pháp SQL
lệnh, nếu có. Bằng cách đó, các lệnh SQL và psql có thể được trộn tự do trên một dòng. Nhưng trong bất kỳ
trường hợp, các đối số của lệnh meta không thể tiếp tục sau cuối dòng.
Các lệnh meta sau được định nghĩa:
\a
Nếu định dạng đầu ra của bảng hiện tại không được căn chỉnh, nó sẽ được chuyển sang căn chỉnh. Nếu nó là
không phải là không liên kết, nó được đặt thành không liên kết. Lệnh này được giữ cho ngược lại
tính tương thích. Nhìn thấy \ pset để có một giải pháp tổng thể hơn.
\ c hoặc \ kết nối [ tên cơ sở dữ liệu [ tên truy nhập ] [ chủ nhà ] [ cổng ]] | thông tin liên lạc
Thiết lập kết nối mới đến máy chủ PostgreSQL. Các thông số kết nối để sử dụng
có thể được chỉ định bằng cách sử dụng cú pháp vị trí hoặc sử dụng kết nối conninfo
các chuỗi được nêu chi tiết trong Phần 31.1.1, “Chuỗi kết nối”, trong tài liệu.
Khi sử dụng các tham số vị trí, nếu có tên cơ sở dữ liệu, tên truy nhập, chủ nhà or cổng được bỏ qua
hoặc được chỉ định là -, giá trị của tham số đó từ kết nối trước đó được sử dụng;
nếu không có kết nối trước đó, libpq mặc định cho giá trị của tham số là
đã sử dụng. Khi sử dụng chuỗi conninfo, không có giá trị nào từ kết nối trước đó được sử dụng cho
kết nối mới.
Nếu kết nối mới được thực hiện thành công, kết nối trước đó sẽ bị đóng. Nếu
nỗ lực kết nối không thành công (sai tên người dùng, quyền truy cập bị từ chối, v.v.), trước đó
kết nối sẽ chỉ được giữ nếu psql ở chế độ tương tác. Khi thực hiện một
tập lệnh không tương tác, quá trình xử lý sẽ ngay lập tức dừng lại khi có lỗi. Cái này
một mặt sự khác biệt được chọn là sự thuận tiện cho người dùng chống lại lỗi chính tả và
cơ chế an toàn mà các tập lệnh không vô tình hoạt động trên cơ sở dữ liệu sai trên
mặt khác.
Ví dụ:
=> \ c mydb myuser host.dom 6432
=> \ c service = foo
=> \ c "host = localhost port = 5432 dbname = mydb connect_timeout = 10 sslmode = vô hiệu hóa"
=> \ c postgresql: // tom @ localhost / mydb? application_name = myapp
\NS [ tiêu đề ]
Đặt tiêu đề của bất kỳ bảng nào được in ra do kết quả của một truy vấn hoặc bỏ đặt bất kỳ bảng nào như vậy
chức vụ. Lệnh này tương đương với \ pset title tiêu đề. (Tên của lệnh này
bắt nguồn từ “caption”, vì trước đây nó chỉ được sử dụng để đặt phụ đề trong HTML
bàn.)
\đĩa CD [ thư mục ]
Thay đổi thư mục làm việc hiện tại thành thư mục. Không có đối số, thay đổi thành
thư mục chính của người dùng hiện tại.
Mẹo
Để in thư mục làm việc hiện tại của bạn, hãy sử dụng \! pwd.
\ conninfo
Xuất ra thông tin về kết nối cơ sở dữ liệu hiện tại.
\ copy { bàn [( column_list )] | ( truy vấn )} {từ | đến } { 'tên tập tin' | chương trình
'chỉ huy' | stdin | stdout | pstdin | pstdout} [[với] ( tùy chọn [, ...])]
Thực hiện sao chép giao diện người dùng (máy khách). Đây là một hoạt động chạy SQL COPY(7)
nhưng thay vì máy chủ đọc hoặc ghi tệp được chỉ định, psql đọc
hoặc ghi tệp và định tuyến dữ liệu giữa máy chủ và hệ thống tệp cục bộ.
Điều này có nghĩa là khả năng truy cập tệp và đặc quyền là của người dùng cục bộ, không phải của
máy chủ và không yêu cầu đặc quyền siêu người dùng SQL.
Khi chương trình được chỉ định, lệnh được thực thi bởi psql và dữ liệu được truyền từ hoặc đến
lệnh được định tuyến giữa máy chủ và máy khách. Một lần nữa, các đặc quyền thực thi
là của người dùng cục bộ, không phải máy chủ và không có đặc quyền của người dùng siêu cấp SQL nào
yêu cầu.
Đối với \ copy ... from stdin, các hàng dữ liệu được đọc từ cùng một nguồn đã phát hành
lệnh, tiếp tục cho đến khi \. được đọc hoặc luồng đạt tới EOF. Tùy chọn này hữu ích
để điền các bảng trong dòng trong tệp kịch bản SQL. Đối với \ copy ... sang stdout,
đầu ra được gửi đến cùng một nơi với đầu ra lệnh psql và BẢN SAO tính lệnh
trạng thái không được in (vì nó có thể bị nhầm lẫn với một hàng dữ liệu). Để đọc / viết
đầu vào hoặc đầu ra tiêu chuẩn của psql bất kể nguồn lệnh hiện tại hoặc tùy chọn \ o,
viết từ pstdin hoặc pstdout.
Cú pháp của lệnh này tương tự như cú pháp của SQL COPY(7) lệnh. Tất cả các tùy chọn
ngoài nguồn / đích dữ liệu được chỉ định cho COPY(7). Bởi vì điều này,
các quy tắc phân tích cú pháp đặc biệt áp dụng cho \ copy chỉ huy. Đặc biệt, biến psql
các quy tắc thay thế và thoát dấu gạch chéo ngược không áp dụng.
Mẹo
Thao tác này không hiệu quả bằng SQL COPY lệnh bởi vì tất cả dữ liệu phải
thông qua kết nối máy khách / máy chủ. Đối với một lượng lớn dữ liệu, SQL
lệnh có thể thích hợp hơn.
\ bản quyền
Hiển thị bản quyền và các điều khoản phân phối của PostgreSQL.
\ d [S +] [ Belt Hold ]
Đối với mỗi quan hệ (bảng, dạng xem, chỉ mục, chuỗi hoặc bảng ngoại) hoặc kiểu kết hợp
phù hợp với Belt Hold, hiển thị tất cả các cột, loại của chúng, không gian bảng (nếu không phải là
default) và bất kỳ thuộc tính đặc biệt nào như NOT NULL hoặc defaults. Các chỉ mục được liên kết,
các ràng buộc, quy tắc và trình kích hoạt cũng được hiển thị. Đối với các bảng nước ngoài, liên kết
máy chủ nước ngoài cũng được hiển thị. (“Phù hợp với mẫu” được định nghĩa trong Mẫu
phía dưới.)
Đối với một số loại quan hệ, \ d hiển thị thông tin bổ sung cho mỗi cột: cột
giá trị cho chuỗi, biểu thức được lập chỉ mục cho chỉ mục và các tùy chọn trình bao bọc dữ liệu ngoại lai
cho các bảng nước ngoài.
Biểu mẫu lệnh \ d + giống hệt nhau, ngoại trừ có nhiều thông tin hơn được hiển thị: bất kỳ
nhận xét liên quan đến các cột của bảng được hiển thị, cũng như sự hiện diện của
OID trong bảng, định nghĩa chế độ xem nếu quan hệ là một chế độ xem, một chế độ xem không mặc định
thiết lập nhận dạng bản sao.
Theo mặc định, chỉ các đối tượng do người dùng tạo mới được hiển thị; cung cấp một mẫu hoặc công cụ sửa đổi S cho
bao gồm các đối tượng hệ thống.
Chú thích
If \d được sử dụng mà không có Belt Hold đối số, nó tương đương với \ dtvsE cái nào sẽ
hiển thị danh sách tất cả các bảng, dạng xem, chuỗi và bảng ngoại có thể nhìn thấy. Đây là
hoàn toàn là một biện pháp tiện lợi.
\ da [S] [ Belt Hold ]
Liệt kê các hàm tổng hợp, cùng với kiểu trả về và kiểu dữ liệu mà chúng
hoạt động trên. Nếu như Belt Hold được chỉ định, chỉ các tổng hợp có tên phù hợp với mẫu mới được
cho xem. Theo mặc định, chỉ các đối tượng do người dùng tạo mới được hiển thị; cung cấp một mẫu hoặc chữ S
sửa đổi để bao gồm các đối tượng hệ thống.
\ db [+] [ Belt Hold ]
Liệt kê không gian bảng. Nếu như Belt Hold được chỉ định, chỉ các không gian bảng có tên khớp với
mô hình được hiển thị. Nếu + được nối vào tên lệnh, mỗi vùng bảng được liệt kê
với các tùy chọn liên quan, kích thước trên đĩa, quyền và mô tả.
\ dc [S +] [ Belt Hold ]
Liệt kê các chuyển đổi giữa các mã hóa tập hợp ký tự. Nếu như Belt Hold được chỉ định, chỉ
các chuyển đổi có tên phù hợp với mẫu được liệt kê. Theo mặc định, chỉ do người dùng tạo
các đối tượng được hiển thị; cung cấp một mẫu hoặc công cụ sửa đổi S để bao gồm các đối tượng hệ thống. Nếu +
được nối vào tên lệnh, mỗi đối tượng được liệt kê với
sự miêu tả.
\ dC [+] [ Belt Hold ]
Danh sách loại phôi. Nếu như Belt Hold được chỉ định, chỉ các phôi có loại nguồn hoặc đích
phù hợp với mô hình được liệt kê. Nếu + được nối vào tên lệnh, mỗi đối tượng sẽ
được liệt kê với mô tả liên quan của nó.
\ dd [S] [ Belt Hold ]
Hiển thị mô tả các đối tượng của kiểu ràng buộc, lớp toán tử, họ toán tử,
quy tắc và kích hoạt. Tất cả các nhận xét khác có thể được xem bằng dấu gạch chéo ngược tương ứng
lệnh cho các loại đối tượng đó.
\ dd hiển thị mô tả cho các đối tượng phù hợp với Belt Hold, hoặc các đối tượng nhìn thấy của
loại thích hợp nếu không có đối số nào được đưa ra. Nhưng trong cả hai trường hợp, chỉ những đối tượng
có một mô tả được liệt kê. Theo mặc định, chỉ các đối tượng do người dùng tạo mới được hiển thị; cung cấp
một mẫu hoặc công cụ sửa đổi S để bao gồm các đối tượng hệ thống.
Mô tả cho các đối tượng có thể được tạo bằng LÀM THẾ NÀO(7) Lệnh SQL.
\ ddp [ Belt Hold ]
Liệt kê các cài đặt đặc quyền truy cập mặc định. Một mục nhập được hiển thị cho mỗi vai trò (và giản đồ,
nếu có) mà cài đặt đặc quyền mặc định đã được thay đổi từ
mặc định được tích hợp sẵn. Nếu như Belt Hold được chỉ định, chỉ các mục nhập có tên vai trò hoặc giản đồ
tên phù hợp với mô hình được liệt kê.
CÁC QUYỀN RIÊNG TƯ CỦA ALTER DEFAULT (ALTER_DEFAULT_PRIVILEGES(7)) lệnh được sử dụng để thiết lập
đặc quyền truy cập mặc định. Ý nghĩa của việc hiển thị đặc quyền được giải thích trong
BAN CHO(7).
\ dD [S +] [ Belt Hold ]
Liệt kê các miền. Nếu như Belt Hold được chỉ định, chỉ những miền có tên khớp với mẫu mới là
cho xem. Theo mặc định, chỉ các đối tượng do người dùng tạo mới được hiển thị; cung cấp một mẫu hoặc chữ S
sửa đổi để bao gồm các đối tượng hệ thống. Nếu + được nối vào tên lệnh, mỗi đối tượng
được liệt kê với các quyền và mô tả liên quan.
\ dE [S +] [ Belt Hold ]
\ di [S +] [ Belt Hold ]
\ dm [S +] [ Belt Hold ]
\ ds [S +] [ Belt Hold ]
\ dt [S +] [ Belt Hold ]
\ dv [S +] [ Belt Hold ]
Trong nhóm lệnh này, các chữ cái E, i, m, s, t và v là đại diện cho bảng ngoại,
chỉ mục, chế độ xem cụ thể hóa, trình tự, bảng và chế độ xem tương ứng. Bạn có thể chỉ định bất kỳ
hoặc tất cả các chữ cái này, theo bất kỳ thứ tự nào, để có được danh sách các đối tượng thuộc các loại này.
Ví dụ: \ dit liệt kê các chỉ mục và bảng. Nếu + được nối vào tên lệnh, mỗi
đối tượng được liệt kê với kích thước vật lý của nó trên đĩa và mô tả liên quan của nó, nếu
không tí nào. Nếu như Belt Hold được chỉ định, chỉ các đối tượng có tên khớp với mẫu mới được liệt kê.
Theo mặc định, chỉ các đối tượng do người dùng tạo mới được hiển thị; cung cấp một mẫu hoặc công cụ sửa đổi S cho
bao gồm các đối tượng hệ thống.
\ des [+] [ Belt Hold ]
Liệt kê các máy chủ nước ngoài (ghi nhớ: “máy chủ bên ngoài”). Nếu như Belt Hold được chỉ định, chỉ
những máy chủ có tên phù hợp với mẫu được liệt kê. Nếu biểu mẫu \ des + được sử dụng,
mô tả đầy đủ về mỗi máy chủ được hiển thị, bao gồm ACL của máy chủ, loại, phiên bản,
các tùy chọn và mô tả.
\ det [+] [ Belt Hold ]
Liệt kê các bảng bên ngoài (ghi nhớ: "bảng bên ngoài"). Nếu như Belt Hold được chỉ định, chỉ
các mục nhập có tên bảng hoặc tên lược đồ khớp với mẫu được liệt kê. Nếu hình thức
\ det + được sử dụng, các tùy chọn chung và mô tả bảng bên ngoài cũng được hiển thị.
\ deu [+] [ Belt Hold ]
Liệt kê các ánh xạ người dùng (ghi nhớ: “người dùng bên ngoài”). Nếu như Belt Hold được chỉ định, chỉ những
ánh xạ có tên người dùng khớp với mẫu được liệt kê. Nếu biểu mẫu \ deu + được sử dụng,
thông tin bổ sung về mỗi ánh xạ được hiển thị.
Phạt cảnh cáo
\ deu + cũng có thể hiển thị tên người dùng và mật khẩu của người dùng từ xa, vì vậy hãy quan tâm
không nên tiết lộ chúng.
\ dew [+] [ Belt Hold ]
Liệt kê các trình bao bọc dữ liệu nước ngoài (ghi nhớ: “trình bao bọc bên ngoài”). Nếu như Belt Hold được quy định,
chỉ những trình bao bọc dữ liệu nước ngoài có tên khớp với mẫu mới được liệt kê. Nếu
form \ dew + được sử dụng, ACL, các tùy chọn và mô tả của trình bao bọc dữ liệu nước ngoài được
cũng được hiển thị.
\ df [antwS +] [ Belt Hold ]
Liệt kê các hàm, cùng với các đối số, kiểu trả về và kiểu hàm của chúng,
được phân loại là "agg" (tổng hợp), "bình thường", "kích hoạt" hoặc "cửa sổ". Đến
chỉ hiển thị các chức năng của (các) loại cụ thể, thêm các chữ cái tương ứng a, n, t, hoặc
w vào lệnh. Nếu như Belt Hold được chỉ định, chỉ các hàm có tên khớp với
mô hình được hiển thị. Theo mặc định, chỉ các đối tượng do người dùng tạo mới được hiển thị; cung cấp một mẫu
hoặc bổ ngữ S để bao gồm các đối tượng hệ thống. Nếu biểu mẫu \ df + được sử dụng, bổ sung
thông tin về từng chức năng được hiển thị, bao gồm phân loại bảo mật,
sự biến động, chủ sở hữu, ngôn ngữ, mã nguồn và mô tả.
Mẹo
Để tra cứu các hàm lấy đối số hoặc trả về giá trị của một kiểu cụ thể, hãy sử dụng
khả năng tìm kiếm của máy nhắn tin của bạn để cuộn qua đầu ra \ df.
\ dF [+] [ Belt Hold ]
Liệt kê các cấu hình tìm kiếm văn bản. Nếu như Belt Hold được chỉ định, chỉ những cấu hình có
tên phù hợp với mô hình được hiển thị. Nếu biểu mẫu \ dF + được sử dụng, mô tả đầy đủ về
mỗi cấu hình được hiển thị, bao gồm trình phân tích cú pháp tìm kiếm văn bản bên dưới và
danh sách từ điển cho từng loại mã thông báo phân tích cú pháp.
\ dFd [+] [ Belt Hold ]
Liệt kê các từ điển tìm kiếm văn bản. Nếu như Belt Hold được chỉ định, chỉ những từ điển có tên
phù hợp với mô hình được hiển thị. Nếu biểu mẫu \ dFd + được sử dụng, thông tin bổ sung là
hiển thị về từng từ điển đã chọn, bao gồm cả mẫu tìm kiếm văn bản bên dưới
và các giá trị tùy chọn.
\ dFp [+] [ Belt Hold ]
Liệt kê các trình phân tích cú pháp tìm kiếm văn bản. Nếu như Belt Hold được chỉ định, chỉ những trình phân tích cú pháp có tên khớp với
mô hình được hiển thị. Nếu biểu mẫu \ dFp + được sử dụng, mô tả đầy đủ về từng trình phân tích cú pháp là
được hiển thị, bao gồm các chức năng cơ bản và danh sách các loại mã thông báo được công nhận.
\ dFt [+] [ Belt Hold ]
Liệt kê các mẫu tìm kiếm văn bản. Nếu như Belt Hold được chỉ định, chỉ các mẫu có tên khớp
mô hình được hiển thị. Nếu biểu mẫu \ dFt + được sử dụng, thông tin bổ sung sẽ được hiển thị
về mỗi mẫu, bao gồm cả các tên chức năng cơ bản.
\ dg [+] [ Belt Hold ]
Liệt kê các vai trò cơ sở dữ liệu. (Vì khái niệm “người dùng” và “nhóm” đã được thống nhất
thành "vai trò", lệnh này bây giờ tương đương với \ du.) if Belt Hold được chỉ định, chỉ
những vai trò có tên phù hợp với mẫu được liệt kê. Nếu biểu mẫu \ dg + được sử dụng,
thông tin bổ sung được hiển thị về mỗi vai trò; hiện tại điều này thêm nhận xét cho
mỗi vai trò.
\ dl
Đây là một bí danh cho \ lo_list, hiển thị danh sách các đối tượng lớn.
\ dL [S +] [ Belt Hold ]
Liệt kê các ngôn ngữ thủ tục. Nếu như Belt Hold được chỉ định, chỉ những ngôn ngữ có tên khớp
mô hình được liệt kê. Theo mặc định, chỉ các ngôn ngữ do người dùng tạo mới được hiển thị; cung cấp
S modifier để bao gồm các đối tượng hệ thống. Nếu + được nối vào tên lệnh, mỗi
ngôn ngữ được liệt kê với trình xử lý cuộc gọi, trình xác thực, đặc quyền truy cập và liệu nó có
là một đối tượng hệ thống.
\ dn [S +] [ Belt Hold ]
Liệt kê các lược đồ (không gian tên). Nếu như Belt Hold được chỉ định, chỉ các lược đồ có tên khớp
mô hình được liệt kê. Theo mặc định, chỉ các đối tượng do người dùng tạo mới được hiển thị; cung cấp một
mẫu hoặc công cụ sửa đổi S để bao gồm các đối tượng hệ thống. Nếu + được thêm vào lệnh
tên, mỗi đối tượng được liệt kê với các quyền và mô tả liên quan của nó, nếu có.
\ do [S +] [ Belt Hold ]
Liệt kê các toán tử với các loại toán hạng và kết quả của chúng. Nếu như Belt Hold được chỉ định, chỉ
toán tử có tên phù hợp với mẫu được liệt kê. Theo mặc định, chỉ do người dùng tạo
các đối tượng được hiển thị; cung cấp một mẫu hoặc công cụ sửa đổi S để bao gồm các đối tượng hệ thống. Nếu +
được thêm vào tên lệnh, thông tin bổ sung về mỗi toán tử được hiển thị,
hiện chỉ là tên của hàm cơ bản.
\ dO [S +] [ Belt Hold ]
Liệt kê các ảnh ghép. Nếu như Belt Hold được chỉ định, chỉ những ảnh ghép có tên khớp với
mô hình được liệt kê. Theo mặc định, chỉ các đối tượng do người dùng tạo mới được hiển thị; cung cấp một mẫu
hoặc bổ ngữ S để bao gồm các đối tượng hệ thống. Nếu + được nối vào tên lệnh,
mỗi đối chiếu được liệt kê với mô tả liên quan của nó, nếu có. Lưu ý rằng chỉ
các đối chiếu có thể sử dụng với mã hóa của cơ sở dữ liệu hiện tại được hiển thị, vì vậy kết quả có thể
khác nhau trong các cơ sở dữ liệu khác nhau của cùng một cài đặt.
\ dp [ Belt Hold ]
Liệt kê các bảng, dạng xem và chuỗi với các đặc quyền truy cập được liên kết của chúng. Nếu như Belt Hold
được chỉ định, chỉ các bảng, dạng xem và chuỗi có tên khớp với mẫu mới được
liệt kê.
Sản phẩm BAN CHO(7) HOÀN LẠI(7) các lệnh được sử dụng để thiết lập các đặc quyền truy cập. Nghĩa của
hiển thị đặc quyền được giải thích dưới BAN CHO(7).
\ drds [ vai trò [ cơ sở dữ liệu-mẫu ]]
Liệt kê các cài đặt cấu hình đã xác định. Các cài đặt này có thể theo vai trò cụ thể,
dành riêng cho cơ sở dữ liệu hoặc cả hai. vai trò và cơ sở dữ liệu-mẫu được sử dụng để chọn
vai trò và cơ sở dữ liệu cụ thể để liệt kê, tương ứng. Nếu bị bỏ qua hoặc nếu * được chỉ định,
tất cả các cài đặt được liệt kê, bao gồm cả những cài đặt không dành riêng cho vai trò hoặc cơ sở dữ liệu cụ thể,
tương ứng.
VAI TRÒ CỦA ALTER (ALTER_ROLE(7)) và ALTER DATABASE (ALTER_DATABASE(7)) các lệnh là
được sử dụng để xác định cài đặt cấu hình cho mỗi vai trò và mỗi cơ sở dữ liệu.
\ dT [S +] [ Belt Hold ]
Liệt kê các kiểu dữ liệu. Nếu như Belt Hold được chỉ định, chỉ các loại có tên khớp với mẫu
được liệt kê. Nếu + được nối vào tên lệnh, mỗi kiểu được liệt kê với
tên và kích thước nội bộ, các giá trị được phép của nó nếu nó là kiểu enum và
quyền. Theo mặc định, chỉ các đối tượng do người dùng tạo mới được hiển thị; cung cấp một mẫu hoặc
S modifier để bao gồm các đối tượng hệ thống.
\ du [+] [ Belt Hold ]
Liệt kê các vai trò cơ sở dữ liệu. (Vì khái niệm “người dùng” và “nhóm” đã được thống nhất
thành "vai trò", lệnh này bây giờ tương đương với \ dg.) if Belt Hold được chỉ định, chỉ
những vai trò có tên phù hợp với mẫu được liệt kê. Nếu biểu mẫu \ du + được sử dụng,
thông tin bổ sung được hiển thị về mỗi vai trò; hiện tại điều này thêm nhận xét cho
mỗi vai trò.
\ dx [+] [ Belt Hold ]
Liệt kê các tiện ích mở rộng đã cài đặt. Nếu như Belt Hold được chỉ định, chỉ những phần mở rộng có tên
phù hợp với mô hình được liệt kê. Nếu biểu mẫu \ dx + được sử dụng, tất cả các đối tượng thuộc
mỗi phần mở rộng phù hợp được liệt kê.
\ dy [+] [ Belt Hold ]
Liệt kê các trình kích hoạt sự kiện. Nếu như Belt Hold được chỉ định, chỉ những trình kích hoạt sự kiện có tên
phù hợp với mô hình được liệt kê. Nếu + được nối vào tên lệnh, mỗi đối tượng sẽ
được liệt kê với mô tả liên quan của nó.
\ e hoặc \ chỉnh sửa [ tên tập tin ] [ số dòng ]
If tên tập tin được chỉ định, tệp được chỉnh sửa; sau khi trình chỉnh sửa thoát ra, nội dung của nó là
được sao chép trở lại bộ đệm truy vấn. Nếu không tên tập tin được đưa ra, bộ đệm truy vấn hiện tại là
được sao chép vào một tệp tạm thời, tệp này sau đó sẽ được chỉnh sửa theo cùng một kiểu.
Bộ đệm truy vấn mới sau đó được phân tích cú pháp lại theo các quy tắc bình thường của psql, trong đó
toàn bộ bộ đệm được coi là một dòng duy nhất. (Vì vậy, bạn không thể tạo script theo cách này.
Sử dụng \i cho điều đó.) Điều này có nghĩa là nếu truy vấn kết thúc bằng (hoặc chứa) dấu chấm phẩy, nó
được thực thi ngay lập tức. Nếu không, nó sẽ chỉ đợi trong bộ đệm truy vấn; kiểu
dấu chấm phẩy hoặc \ g để gửi hoặc \ r để hủy.
Nếu số dòng được chỉ định, psql sẽ định vị con trỏ trên dòng được chỉ định của
tệp hoặc bộ đệm truy vấn. Lưu ý rằng nếu một đối số gồm tất cả các chữ số được đưa ra, psql
giả sử đó là số dòng, không phải tên tệp.
Mẹo
Xem phần MÔI TRƯỜNG để biết cách định cấu hình và tùy chỉnh trình chỉnh sửa của bạn.
\ echo văn bản [...]
In các đối số ra đầu ra tiêu chuẩn, được phân tách bằng một dấu cách và theo sau là
dòng mới. Điều này có thể hữu ích để xen kẽ thông tin trong đầu ra của các tập lệnh. Vì
thí dụ:
=> \ echo `ngày tháng`
Thứ ba ngày 26 tháng 21 40:57:1999 CEST XNUMX
Nếu đối số đầu tiên là đối số không được trích dẫn -n thì dòng mới ở cuối sẽ không được viết.
Mẹo
Nếu bạn sử dụng \o lệnh chuyển hướng kết quả truy vấn của bạn mà bạn có thể muốn sử dụng
\ qecho thay vì lệnh này.
\ ef [ Mô tả chức năng [ số dòng ]]
Lệnh này tìm nạp và chỉnh sửa định nghĩa của hàm được đặt tên, dưới dạng
TẠO NÊN OR Thay thế CHỨC NĂNG chỉ huy. Chỉnh sửa được thực hiện theo cách tương tự như đối với \ chỉnh sửa.
Sau khi trình soạn thảo thoát ra, lệnh cập nhật sẽ đợi trong bộ đệm truy vấn; gõ dấu chấm phẩy
hoặc \ g để gửi hoặc \ r để hủy.
Hàm đích có thể được chỉ định bằng tên riêng, hoặc bằng tên và các đối số, cho
ví dụ foo (số nguyên, văn bản). Các loại đối số phải được cung cấp nếu có nhiều hơn một
chức năng cùng tên.
Nếu không có chức năng nào được chỉ định, một ô trống TẠO NÊN CHỨC NĂNG mẫu được trình bày cho
chỉnh sửa.
Nếu số dòng được chỉ định, psql sẽ định vị con trỏ trên dòng được chỉ định của
cơ quan chức năng. (Lưu ý rằng phần thân hàm thường không bắt đầu ở phần đầu tiên
dòng của tệp.)
Mẹo
Xem phần MÔI TRƯỜNG để biết cách định cấu hình và tùy chỉnh trình chỉnh sửa của bạn.
\ encoding [ mã hóa ]
Đặt mã hóa bộ ký tự máy khách. Không có đối số, lệnh này hiển thị
mã hóa hiện tại.
\NS [ chuỗi ]
Đặt dấu phân tách trường cho đầu ra truy vấn không được đánh dấu. Mặc định là thanh dọc
(|). Xem thêm \ pset cho một cách chung để thiết lập các tùy chọn đầu ra.
\NS [ tên tập tin ]
\ g [|lệnh ]
Gửi bộ đệm đầu vào truy vấn hiện tại tới máy chủ và tùy chọn lưu trữ của truy vấn
đầu ra trong tên tập tin hoặc chuyển đầu ra tới lệnh shell lệnh. Tệp hoặc
lệnh được ghi chỉ khi truy vấn trả về thành công không hoặc nhiều bộ giá trị, không
nếu truy vấn không thành công hoặc là lệnh SQL không trả về dữ liệu.
Dấu trần \ g về cơ bản tương đương với dấu chấm phẩy. A \ g với đối số là "một lần"
thay thế cho \o chỉ huy.
\ gset [ tiếp đầu ngữ ]
Gửi bộ đệm đầu vào truy vấn hiện tại tới máy chủ và lưu trữ đầu ra của truy vấn vào
biến psql (xem Biến). Truy vấn được thực thi phải trả về chính xác một hàng.
Mỗi cột của hàng được lưu trữ thành một biến riêng biệt, được đặt tên giống như
cột. Ví dụ:
=> CHỌN 'xin chào' AS biến1, 10 AS biến2
-> \ gset
=> \ echo : var1 : var2
xin chào 10
Nếu bạn chỉ định một tiếp đầu ngữ, chuỗi đó được thêm vào trước các tên cột của truy vấn để
tạo tên biến để sử dụng:
=> CHỌN 'xin chào' AS biến1, 10 AS biến2
-> \ gset kết quả_
=> \ echo : result_var1 : result_var2
xin chào 10
Nếu kết quả cột là NULL, biến tương ứng không được đặt thay vì được đặt.
Nếu truy vấn không thành công hoặc không trả về một hàng, không có biến nào được thay đổi.
\ h hoặc \ help [ lệnh ]
Cung cấp trợ giúp về cú pháp trên lệnh SQL được chỉ định. Nếu như lệnh không được chỉ định, thì psql
sẽ liệt kê tất cả các lệnh mà trợ giúp cú pháp có sẵn. Nếu như lệnh là một
dấu hoa thị (*), sau đó trợ giúp cú pháp trên tất cả các lệnh SQL được hiển thị.
Chú thích
Để đơn giản hóa việc nhập, các lệnh bao gồm một số từ không nhất thiết phải
được trích dẫn. Vì vậy, nó là tốt để gõ \Cứu giúp thay đổi bàn.
\ H hoặc \ html
Bật định dạng đầu ra truy vấn HTML. Nếu định dạng HTML đã được bật, nó sẽ được chuyển
trở lại định dạng văn bản được căn chỉnh mặc định. Lệnh này là để tương thích và
tiện lợi, nhưng hãy xem \ pset về việc thiết lập các tùy chọn đầu ra khác.
\ i hoặc \ bao gồm tên tập tin
Đọc đầu vào từ tệp tên tập tin và thực hiện nó như thể nó đã được đánh vào
bàn phím.
If tên tập tin là - (gạch nối), sau đó đầu vào tiêu chuẩn được đọc cho đến khi chỉ báo EOF hoặc \q
lệnh meta. Điều này có thể được sử dụng để xen kẽ đầu vào tương tác với đầu vào từ tệp.
Lưu ý rằng hành vi Readline sẽ chỉ được sử dụng nếu nó đang hoạt động ở cấp ngoài cùng.
Chú thích
Nếu bạn muốn nhìn thấy các dòng trên màn hình khi chúng được đọc, bạn phải đặt
biến ECHO cho tất cả
\ ir hoặc \ include_relative tên tập tin
Lệnh \ ir tương tự như \ i, nhưng giải quyết các tên tệp tương đối khác nhau. Khi nào
thực thi trong chế độ tương tác, hai lệnh hoạt động giống nhau. Tuy nhiên, khi
được gọi từ một tập lệnh, \ ir diễn giải tên tệp liên quan đến thư mục trong đó
tập lệnh được đặt, chứ không phải là thư mục làm việc hiện tại.
\ l [+] hoặc \ list [+] [ Belt Hold ]
Liệt kê các cơ sở dữ liệu trong máy chủ và hiển thị tên, chủ sở hữu, bộ ký tự của chúng
mã hóa và đặc quyền truy cập. Nếu như Belt Hold được chỉ định, chỉ những cơ sở dữ liệu có tên
phù hợp với mô hình được liệt kê. Nếu + được nối vào tên lệnh, kích thước cơ sở dữ liệu,
không gian bảng mặc định và mô tả cũng được hiển thị. (Thông tin kích thước chỉ là
khả dụng cho cơ sở dữ liệu mà người dùng hiện tại có thể kết nối.)
\ lo_export nhà thờ tên tập tin
Đọc đối tượng lớn với OID nhà thờ từ cơ sở dữ liệu và ghi nó vào tên tập tin. Ghi chú
rằng điều này khác biệt một cách tinh tế với chức năng máy chủ lo_export, hành động với
quyền của người dùng mà máy chủ cơ sở dữ liệu chạy như và trên tệp của máy chủ
hệ thống.
Mẹo
Sử dụng \ lo_list để tìm ra OID của đối tượng lớn.
\ lo_import tên tập tin [ bình luận ]
Lưu trữ tệp vào một đối tượng lớn PostgreSQL. Theo tùy chọn, nó liên kết với
bình luận với đối tượng. Thí dụ:
foo => \ lo_import '/home/peter/pictures/photo.xcf' 'a hình ảnh of tôi'
lo_import 152801
Phản hồi chỉ ra rằng đối tượng lớn đã nhận được ID đối tượng 152801, có thể là
được sử dụng để truy cập đối tượng lớn mới được tạo trong tương lai. Vì lợi ích của
dễ đọc, bạn nên luôn liên kết nhận xét mà con người có thể đọc được với mọi
sự vật. Cả OID và nhận xét đều có thể được xem bằng \ lo_list chỉ huy.
Lưu ý rằng lệnh này khác một cách tinh tế với phía máy chủ lo_import bởi vì nó
đóng vai trò là người dùng cục bộ trên hệ thống tệp cục bộ, thay vì người dùng của máy chủ và
hệ thống tập tin.
\ lo_list
Hiển thị danh sách tất cả các đối tượng lớn PostgreSQL hiện được lưu trữ trong cơ sở dữ liệu, cùng
với bất kỳ nhận xét nào được cung cấp cho họ.
\ lo_unlink nhà thờ
Xóa đối tượng lớn bằng OID nhà thờ từ cơ sở dữ liệu.
Mẹo
Sử dụng \ lo_list để tìm ra OID của đối tượng lớn.
\ o hoặc \ ra [ tên tập tin ]
\ o hoặc \ ra [|lệnh ]
Sắp xếp để lưu các kết quả truy vấn trong tương lai vào tệp tên tập tin hoặc chuyển các kết quả trong tương lai tới
lệnh shell lệnh. Nếu không có đối số nào được chỉ định, đầu ra truy vấn được đặt lại thành
đầu ra tiêu chuẩn.
“Kết quả truy vấn” bao gồm tất cả các bảng, phản hồi lệnh và thông báo thu được từ
máy chủ cơ sở dữ liệu, cũng như đầu ra của các lệnh dấu gạch chéo ngược khác nhau truy vấn
cơ sở dữ liệu (chẳng hạn như \d), nhưng không phải thông báo lỗi.
Mẹo
Để xen kẽ đầu ra văn bản giữa các kết quả truy vấn, hãy sử dụng \ qecho.
\ p hoặc \ in
In bộ đệm truy vấn hiện tại ra đầu ra tiêu chuẩn.
\mật khẩu mở khóa [ tên truy nhập ]
Thay đổi mật khẩu của người dùng được chỉ định (theo mặc định, người dùng hiện tại). Cái này
lệnh nhắc nhập mật khẩu mới, mã hóa mật khẩu và gửi đến máy chủ dưới dạng
THAY ĐỔI VAI TRÒ chỉ huy. Điều này đảm bảo rằng mật khẩu mới không xuất hiện trong văn bản rõ ràng
trong lịch sử lệnh, nhật ký máy chủ hoặc ở nơi khác.
\lời nhắc [ văn bản ] tên
Nhắc người dùng cung cấp văn bản được gán cho biến tên. Một tùy chọn
chuỗi nhắc nhở, văn bản, có thể được chỉ định. (Đối với lời nhắc nhiều từ, hãy bao quanh văn bản bằng
dấu nháy đơn.)
Theo mặc định, \ prompt sử dụng thiết bị đầu cuối cho đầu vào và đầu ra. Tuy nhiên, nếu -f lệnh
công tắc dòng đã được sử dụng, \ nhắc sử dụng đầu vào tiêu chuẩn và đầu ra tiêu chuẩn.
\ pset [ tùy chọn [ giá trị ]]
Lệnh này đặt các tùy chọn ảnh hưởng đến kết quả đầu ra của bảng kết quả truy vấn. tùy chọn
cho biết tùy chọn nào sẽ được thiết lập. Ngữ nghĩa của giá trị thay đổi tùy thuộc vào
tùy chọn đã chọn. Đối với một số tùy chọn, bỏ qua giá trị khiến tùy chọn được chuyển đổi hoặc
bỏ đặt, như được mô tả trong tùy chọn cụ thể. Nếu không có hành vi như vậy được đề cập,
sau đó bỏ qua giá trị chỉ dẫn đến cài đặt hiện tại được hiển thị.
\ pset mà không có bất kỳ đối số nào hiển thị trạng thái hiện tại của tất cả các tùy chọn in.
Các tùy chọn in có thể điều chỉnh là:
biên giới
Sản phẩm giá trị phải là một số. Nói chung, số càng cao thì càng có nhiều đường viền và
dòng mà các bảng sẽ có, nhưng chi tiết phụ thuộc vào định dạng cụ thể. Trong HTML
định dạng, điều này sẽ dịch trực tiếp thành thuộc tính border = .... Trong hầu hết các
chỉ định dạng các giá trị 0 (không có đường viền), 1 (đường phân chia bên trong) và 2 (bảng
frame) có ý nghĩa và các giá trị trên 2 sẽ được coi giống như border = 2.
định dạng latex và latex-longtable cũng cho phép thêm giá trị 3 để thêm phép chia
dòng giữa các hàng dữ liệu.
cột
Đặt chiều rộng mục tiêu cho định dạng được bao bọc và cả giới hạn chiều rộng cho
xác định xem đầu ra có đủ rộng để yêu cầu máy nhắn tin hay không hoặc chuyển sang
hiển thị dọc ở chế độ tự động mở rộng. Số không (mặc định) gây ra chiều rộng mục tiêu
được kiểm soát bởi biến môi trường CỘThoặc chiều rộng màn hình được phát hiện
if CỘT không được thiết lập. Ngoài ra, nếu các cột bằng XNUMX thì định dạng được bao bọc
chỉ ảnh hưởng đến đầu ra màn hình. Nếu các cột khác không thì đầu ra tệp và ống dẫn là
được quấn theo chiều rộng đó.
được mở rộng (hoặc x)
If giá trị được chỉ định, nó phải được bật hoặc tắt, điều này sẽ bật hoặc tắt
chế độ mở rộng hoặc tự động. Nếu như giá trị bị bỏ qua lệnh chuyển đổi giữa bật và
tắt cài đặt. Khi chế độ mở rộng được bật, kết quả truy vấn được hiển thị trong hai
cột, với tên cột ở bên trái và dữ liệu ở bên phải. Chế độ này là
hữu ích nếu dữ liệu không vừa trên màn hình ở chế độ “ngang” bình thường. Trong
cài đặt tự động, chế độ mở rộng được sử dụng bất cứ khi nào đầu ra truy vấn rộng hơn
so với màn hình, nếu không thì chế độ thông thường sẽ được sử dụng. Cài đặt tự động chỉ là
hiệu quả trong các định dạng được căn chỉnh và bao bọc. Ở các định dạng khác, nó luôn hoạt động
như thể chế độ mở rộng bị tắt.
cánh đồng
Chỉ định dấu phân tách trường được sử dụng ở định dạng đầu ra không dấu. Cách đó một
có thể tạo, ví dụ, đầu ra được phân tách bằng tab hoặc dấu phẩy, mà các chương trình khác
có thể thích hơn. Để đặt tab làm dấu phân tách trường, hãy nhập \ pset fieldsep '\ t'. Các
dấu phân tách trường mặc định là '|' (một thanh dọc).
trườngep_zero
Đặt dấu phân tách trường để sử dụng ở định dạng đầu ra không dấu thành byte XNUMX.
chân
If giá trị được chỉ định, nó phải được bật hoặc tắt để bật hoặc tắt
hiển thị của chân trang bảng (n hàng) đếm). Nếu như giá trị bị bỏ qua lệnh
bật hoặc tắt hiển thị chân trang.
định dạng
Đặt định dạng đầu ra thành một trong các định dạng không căn, thẳng hàng, bao bọc, html, asciidoc,
latex (sử dụng dạng bảng), latex-longtable hoặc troff-ms. Các từ viết tắt duy nhất là
cho phép. (Điều đó có nghĩa là một chữ cái là đủ.)
định dạng không dấu ghi tất cả các cột của một hàng trên một dòng, được phân tách bằng dấu
phân tách trường hiện đang hoạt động. Điều này rất hữu ích để tạo đầu ra có thể
dự định sẽ được đọc bởi các chương trình khác (ví dụ: được phân tách bằng tab hoặc
định dạng được phân tách bằng dấu phẩy).
định dạng căn chỉnh là đầu ra văn bản tiêu chuẩn, có thể đọc được, được định dạng độc đáo; cái này
là mặc định.
định dạng được bao bọc giống như được căn chỉnh nhưng bao bọc các giá trị dữ liệu rộng trên các dòng để làm cho
đầu ra phù hợp với chiều rộng cột mục tiêu. Chiều rộng mục tiêu được xác định như mô tả
dưới tùy chọn cột. Lưu ý rằng psql sẽ không cố gắng bao bọc tiêu đề cột
các chức danh; do đó, định dạng được bao bọc hoạt động giống như được căn chỉnh nếu tổng chiều rộng
cần thiết cho các tiêu đề cột vượt quá mục tiêu.
Các định dạng html, asciidoc, latex, latex-longtable và troff-ms đưa ra các bảng
được dự định đưa vào tài liệu bằng cách sử dụng đánh dấu tương ứng
ngôn ngữ. Chúng không phải là tài liệu hoàn chỉnh! Điều này có thể không cần thiết trong HTML,
nhưng trong LaTeX bạn phải có một trình bao bọc tài liệu hoàn chỉnh. latex-longtable cũng
yêu cầu các gói Longtable và booktabs của LaTeX.
kiểu đường nét
Đặt kiểu vẽ đường viền thành một trong các ascii, old-ascii hoặc unicode. Duy nhất
được phép viết tắt. (Điều đó có nghĩa là một chữ cái là đủ.)
cài đặt là ascii. Tùy chọn này chỉ ảnh hưởng đến các định dạng đầu ra được căn chỉnh và bao bọc.
kiểu ascii sử dụng các ký tự ASCII thuần túy. Các dòng mới trong dữ liệu được hiển thị bằng dấu +
biểu tượng ở lề bên tay phải. Khi định dạng được bọc gói dữ liệu từ một dòng
sang phần tiếp theo không có ký tự dòng mới, dấu chấm (.) được hiển thị ở bên tay phải
lề của dòng đầu tiên và lại ở lề bên trái của dòng sau.
kiểu old-ascii sử dụng các ký tự ASCII thuần túy, sử dụng kiểu định dạng được sử dụng trong
PostgreSQL 8.4 trở về trước. Các dòng mới trong dữ liệu được hiển thị bằng ký hiệu: tại chỗ
của dấu phân cách cột bên trái. Khi dữ liệu được bao bọc từ một dòng đến
tiếp theo không có ký tự dòng mới, a; biểu tượng được sử dụng thay cho bên trái
dấu phân cách cột.
kiểu unicode sử dụng các ký tự vẽ hộp Unicode. Các dòng mới trong dữ liệu được hiển thị
sử dụng ký hiệu xuống dòng ở lề bên phải. Khi dữ liệu được bao bọc
từ dòng này sang dòng tiếp theo không có ký tự dòng mới, biểu tượng dấu chấm lửng được hiển thị
ở lề bên phải của dòng đầu tiên và lại ở lề bên trái của
dòng sau.
Khi cài đặt đường viền lớn hơn XNUMX, tùy chọn kiểu đường kẻ cũng xác định
các ký tự mà các đường viền được vẽ. Các ký tự ASCII thuần túy hoạt động
ở mọi nơi, nhưng các ký tự Unicode trông đẹp hơn trên màn hình nhận dạng chúng.
vô giá trị
Đặt chuỗi được in thay cho giá trị null. Mặc định là in
không có gì, có thể dễ bị nhầm với một chuỗi rỗng. Ví dụ, một người có thể
thích \ pset null '(null)'.
ngôn ngữ số
If giá trị được chỉ định, nó phải được bật hoặc tắt để bật hoặc tắt
hiển thị một ký tự theo ngôn ngữ cụ thể để tách các nhóm chữ số ở bên trái của
dấu thập phân. Nếu như giá trị bị bỏ qua lệnh chuyển đổi giữa thông thường và
đầu ra số cụ thể theo ngôn ngữ địa phương.
máy nhắn tin
Kiểm soát việc sử dụng chương trình máy nhắn tin cho đầu ra truy vấn và trợ giúp psql. Nếu môi trường
biến PAGER được thiết lập, đầu ra được chuyển đến chương trình được chỉ định. Nếu không thì một
mặc định phụ thuộc vào nền tảng (chẳng hạn như nhiều hơn) được sử dụng.
Khi tùy chọn máy nhắn tin tắt, chương trình máy nhắn tin sẽ không được sử dụng. Khi tùy chọn máy nhắn tin
đang bật, máy nhắn tin được sử dụng khi thích hợp, tức là khi đầu ra là một thiết bị đầu cuối
và sẽ không vừa trên màn hình. Tùy chọn máy nhắn tin cũng có thể được đặt thành luôn luôn,
khiến máy nhắn tin được sử dụng cho tất cả đầu ra của thiết bị đầu cuối bất kể nó có phù hợp hay không
trên màn hình. \ pset máy nhắn tin không có giá trị bật và tắt sử dụng máy nhắn tin.
máy nhắn tin_min_lines
Nếu pager_min_lines được đặt thành một số lớn hơn chiều cao của trang, máy nhắn tin
chương trình sẽ không được gọi trừ khi có ít nhất nhiều dòng đầu ra này
chỉ. Cài đặt mặc định là 0.
hồ sơ
Chỉ định dấu phân tách bản ghi (dòng) để sử dụng ở định dạng đầu ra không dấu. Các
mặc định là một ký tự dòng mới.
hồ sơep_zero
Đặt dấu phân tách bản ghi để sử dụng ở định dạng đầu ra không dấu thành byte XNUMX.
tableattr (hoặc T)
Ở định dạng HTML, điều này chỉ định các thuộc tính được đặt bên trong thẻ bảng. Cái này
ví dụ có thể là cellpadding hoặc bgcolor. Lưu ý rằng bạn có thể không muốn
chỉ định đường viền ở đây, vì đường viền đó đã được quản lý bởi \ pset border. Nếu không giá trị
được cung cấp, các thuộc tính bảng chưa được đặt.
Ở định dạng latex-longtable, điều này kiểm soát độ rộng tương ứng của mỗi cột
chứa kiểu dữ liệu căn trái. Nó được chỉ định là một dấu cách được phân tách bằng khoảng trắng
danh sách các giá trị, ví dụ: '0.2 0.2 0.6'. Các cột đầu ra không xác định sử dụng cuối cùng
giá trị xác định.
tiêu đề
Đặt tiêu đề bảng cho bất kỳ bảng nào được in sau đó. Điều này có thể được sử dụng để cho
các thẻ mô tả đầu ra của bạn. Nếu không giá trị được đưa ra, tiêu đề chưa được đặt.
tuples_only (hoặc t)
If giá trị được chỉ định, nó phải được bật hoặc tắt để bật hoặc tắt
chế độ chỉ tuples. Nếu như giá trị bị bỏ qua lệnh chuyển đổi giữa thông thường và
đầu ra chỉ bộ giá trị. Đầu ra thông thường bao gồm thông tin bổ sung như cột
đầu trang, tiêu đề và chân trang khác nhau. Trong chế độ chỉ bộ giá trị, chỉ dữ liệu bảng thực tế
được hiển thị.
unicode_border_linestyle
Đặt kiểu vẽ đường viền cho kiểu đường unicode thành một hoặc
gấp đôi.
unicode_column_linestyle
Đặt kiểu vẽ cột cho kiểu đường unicode thành một hoặc
gấp đôi.
unicode_header_linestyle
Đặt kiểu vẽ tiêu đề cho kiểu đường unicode thành một trong hai hoặc
gấp đôi.
Bạn có thể xem các minh họa về giao diện của các định dạng khác nhau này trong phần VÍ DỤ.
Mẹo
Có nhiều lệnh tắt khác nhau cho \ pset. Thấy \a, \C, \H, \t, \Tvà \x.
\ q hoặc \ thoát
Thoát chương trình psql. Trong một tệp tập lệnh, chỉ việc thực thi tập lệnh đó bị chấm dứt.
\ qecho văn bản [...]
Lệnh này giống với \ echo ngoại trừ việc đầu ra sẽ được ghi vào truy vấn
kênh đầu ra, như được thiết lập bởi \o.
\ r hoặc \ đặt lại
Đặt lại (xóa) bộ đệm truy vấn.
\NS [ tên tập tin ]
In lịch sử dòng lệnh của psql để tên tập tin. Nếu tên tập tin bị bỏ qua, lịch sử là
được ghi vào đầu ra tiêu chuẩn (sử dụng máy nhắn tin nếu thích hợp). Lệnh này không
khả dụng nếu psql được xây dựng mà không có hỗ trợ Readline.
\bộ [ tên [ giá trị [...]]]
Đặt biến psql tên đến giá trịhoặc nếu nhiều hơn một giá trị được cung cấp,
nối của tất cả chúng. Nếu chỉ có một đối số được đưa ra, thì biến được đặt bằng
một giá trị trống. Để bỏ đặt một biến, hãy sử dụng \ unset chỉ huy.
\bộ mà không có bất kỳ đối số nào hiển thị tên và giá trị của tất cả psql hiện được đặt
biến.
Tên biến hợp lệ có thể chứa các chữ cái, chữ số và dấu gạch dưới. Xem phần
Các biến bên dưới để biết chi tiết. Tên biến phân biệt chữ hoa chữ thường.
Mặc dù bạn có thể đặt bất kỳ biến nào thành bất kỳ thứ gì bạn muốn, psql xử lý một số
các biến đặc biệt. Chúng được ghi lại trong phần về các biến.
Chú thích
Lệnh này không liên quan đến lệnh SQL SET(7).
\ setenv tên [ giá trị ]
Đặt biến môi trường tên đến giá trị, hoặc nếu giá trị không được cung cấp, không được đặt
biến môi trường. Thí dụ:
testdb => \ setenv PAGER ít
testdb => \ setenv ÍT HƠN -imx4F
\ sf [+] Mô tả chức năng
Lệnh này tìm nạp và hiển thị định nghĩa của hàm được đặt tên, ở dạng
TẠO NÊN OR Thay thế CHỨC NĂNG chỉ huy. Định nghĩa được in cho truy vấn hiện tại
kênh đầu ra, như được thiết lập bởi \o.
Hàm đích có thể được chỉ định bằng tên riêng, hoặc bằng tên và các đối số, cho
ví dụ foo (số nguyên, văn bản). Các loại đối số phải được cung cấp nếu có nhiều hơn một
chức năng cùng tên.
Nếu + được nối vào tên lệnh, thì các dòng đầu ra được đánh số, với
dòng đầu tiên của nội dung hàm là dòng 1.
\t
Chuyển đổi hiển thị đầu đề tên cột đầu ra và chân trang đếm hàng. Lệnh này
tương đương với \ pset tuples_only và được cung cấp để thuận tiện.
\T bảng_tùy chọn
Chỉ định các thuộc tính được đặt trong thẻ bảng ở định dạng đầu ra HTML. Cái này
lệnh tương đương với \ pset tableattr bảng_tùy chọn.
\ thời gian [ on | off ]
Không có tham số, chuyển đổi hiển thị mỗi câu lệnh SQL mất bao lâu, trong
mili giây. Với tham số, đặt giống nhau.
\ unset tên
Hủy đặt (xóa) biến psql tên.
\ w hoặc \ viết tên tập tin
\ w hoặc \ viết |lệnh
Xuất bộ đệm truy vấn hiện tại vào tệp tên tập tin hoặc chuyển nó đến lệnh shell
lệnh.
\đồng hồ [ giây ]
Thực hiện lặp lại bộ đệm truy vấn hiện tại (như \ g) cho đến khi bị gián đoạn hoặc truy vấn
không thành công. Chờ số giây được chỉ định (mặc định 2) giữa các lần thực thi.
\NS [ on | off | tự động ]
Đặt hoặc chuyển đổi chế độ định dạng bảng mở rộng. Như vậy, nó tương đương với \ pset
được mở rộng.
\ z [ Belt Hold ]
Liệt kê các bảng, dạng xem và chuỗi với các đặc quyền truy cập được liên kết của chúng. Nếu một
Belt Hold được chỉ định, chỉ các bảng, dạng xem và chuỗi có tên khớp với mẫu
được liệt kê.
Đây là một bí danh cho \ dp (“Đặc quyền hiển thị”).
\! [ lệnh ]
Thoát đến một trình bao riêng biệt hoặc thực hiện lệnh trình bao lệnh. Các đối số là
không được giải thích thêm; vỏ sẽ nhìn thấy chúng như hiện tại. Đặc biệt, biến
các quy tắc thay thế và thoát dấu gạch chéo ngược không áp dụng.
\? [ chủ đề ]
Hiển thị thông tin trợ giúp. Tùy chọn chủ đề tham số (mặc định cho các lệnh) lựa chọn
phần nào của psql được giải thích: các lệnh mô tả các lệnh dấu gạch chéo ngược của psql; tùy chọn
mô tả các tùy chọn dòng lệnh có thể được chuyển tới psql; và các biến cho thấy
trợ giúp về các biến cấu hình psql.
Patterns
Các lệnh \ d khác nhau chấp nhận một Belt Hold tham số để chỉ định (các) tên đối tượng là
hiển thị. Trong trường hợp đơn giản nhất, một mẫu chỉ là tên chính xác của đối tượng. Các
các ký tự trong một mẫu thường được gấp thành chữ thường, giống như trong tên SQL;
ví dụ: \ dt FOO sẽ hiển thị bảng có tên foo. Như trong tên SQL, việc đặt gấp đôi
dấu ngoặc kép xung quanh một mẫu dừng gấp thành chữ thường. Nếu bạn cần bao gồm một
ký tự dấu ngoặc kép thực tế trong một mẫu, hãy viết nó dưới dạng một cặp dấu ngoặc kép trong
một chuỗi dấu ngoặc kép; một lần nữa điều này phù hợp với các quy tắc cho SQL được trích dẫn
định danh. Ví dụ: \ dt "FOO" "BAR" sẽ hiển thị bảng có tên FOO "BAR (không phải
foo "bar). Không giống như các quy tắc thông thường cho tên SQL, bạn có thể đặt dấu ngoặc kép xung quanh
một phần của mẫu, chẳng hạn \ dt FOO "FOO" BAR sẽ hiển thị bảng có tên
fooFOObar.
Bất cứ khi nào Belt Hold tham số bị bỏ qua hoàn toàn, các lệnh \ d hiển thị tất cả
các đối tượng hiển thị trong đường dẫn tìm kiếm giản đồ hiện tại - điều này tương đương với
sử dụng * làm mẫu. (Một đối tượng được cho là có thể nhìn thấy nếu lược đồ chứa nó là
trong đường dẫn tìm kiếm và không có đối tượng nào cùng loại và cùng tên xuất hiện trước đó trong
đường dẫn tìm kiếm. Điều này tương đương với câu lệnh rằng đối tượng có thể được tham chiếu bởi
tên mà không có điều kiện lược đồ rõ ràng.) Để xem tất cả các đối tượng trong cơ sở dữ liệu
bất kể khả năng hiển thị, hãy sử dụng *. * làm mẫu.
Trong một mẫu, * khớp với bất kỳ chuỗi ký tự nào (kể cả không có ký tự nào) và?
khớp với bất kỳ ký tự đơn nào. (Ký hiệu này có thể so sánh với tên tệp trình bao Unix
.) Ví dụ: \ dt int * hiển thị các bảng có tên bắt đầu bằng int. Nhưng
trong dấu ngoặc kép, * và? mất đi những ý nghĩa đặc biệt này và chỉ được ghép lại
nghĩa đen
Mẫu có chứa dấu chấm (.) Được hiểu là mẫu tên giản đồ, theo sau là
một mẫu tên đối tượng. Ví dụ: \ dt foo *. * Bar * hiển thị tất cả các bảng có bảng
tên bao gồm thanh nằm trong lược đồ có tên lược đồ bắt đầu bằng foo. Khi không có dấu chấm
xuất hiện, sau đó mẫu chỉ khớp với các đối tượng hiển thị trong giản đồ hiện tại
đường dẫn tìm kiếm. Một lần nữa, một dấu chấm trong dấu ngoặc kép mất đi ý nghĩa đặc biệt của nó và
khớp theo nghĩa đen.
Người dùng nâng cao có thể sử dụng các ký hiệu biểu thức chính quy, chẳng hạn như các lớp ký tự, cho
ví dụ [0-9] để khớp với bất kỳ chữ số nào. Tất cả các ký tự đặc biệt của biểu thức chính quy hoạt động như
được nêu rõ trong Phần 9.7.3, “Cụm từ thông dụng POSIX”, trong tài liệu, ngoại trừ
vì . được lấy làm dấu phân tách như đã đề cập ở trên, * được dịch thành
ký hiệu biểu thức chính quy. *,? được dịch sang. và $ được khớp
theo đúng nghĩa đen. Bạn có thể mô phỏng các ký tự mẫu này khi cần bằng cách viết? vì ., (R+ |)
cho R*, hoặc (R|) cho R? $ không cần thiết như một ký tự biểu thức chính quy vì
mẫu phải khớp với toàn bộ tên, không giống như cách hiểu thông thường về
biểu thức (nói cách khác, $ được tự động thêm vào mẫu của bạn). Viết * tại
phần đầu và / hoặc phần cuối nếu bạn không muốn mẫu được cố định. Lưu ý rằng
trong dấu ngoặc kép, tất cả các ký tự đặc biệt của cụm từ thông dụng sẽ mất đi
nghĩa và được so khớp theo nghĩa đen. Ngoài ra, các ký tự đặc biệt của biểu thức chính quy
được so khớp theo nghĩa đen trong các mẫu tên toán tử (tức là, đối số của \ do).
Nâng cao Tính năng
Biến
psql cung cấp các tính năng thay thế biến tương tự như các trình bao lệnh Unix thông thường.
Các biến chỉ đơn giản là các cặp tên / giá trị, trong đó giá trị có thể là bất kỳ chuỗi
chiều dài. Tên phải bao gồm các chữ cái (kể cả các chữ cái không phải chữ Latinh), các chữ số và
gạch dưới.
Để đặt một biến, hãy sử dụng lệnh meta psql \bộ. Ví dụ,
testdb => \bộ foo thanh
đặt biến foo vào thanh giá trị. Để truy xuất nội dung của biến,
đặt trước tên bằng dấu hai chấm, ví dụ:
testdb => \ echo : foo
thanh
Điều này hoạt động trong cả lệnh SQL thông thường và lệnh meta; có nhiều chi tiết hơn trong SQL
Nội suy, bên dưới.
Nếu bạn gọi \bộ không có đối số thứ hai, biến được đặt, với một chuỗi rỗng
như giá trị. Để hủy đặt (tức là xóa) một biến, hãy sử dụng lệnh \ unset. Để hiển thị
giá trị của tất cả các biến, gọi \bộ mà không có bất kỳ tranh luận nào.
Chú thích
Các đối số của \bộ tuân theo các quy tắc thay thế tương tự như với các
các lệnh. Do đó, bạn có thể tạo các tham chiếu thú vị như \ set: foo
'cái gì đó' và nhận được "liên kết mềm" hoặc "biến có thể thay đổi" của Perl hoặc PHP nổi tiếng,
tương ứng. Thật không may (hoặc may mắn thay?), Không có cách nào để làm bất cứ điều gì
hữu ích với những cấu trúc này. Mặt khác, \ set bar: foo là một
cách hợp lệ để sao chép một biến.
Một số biến này được xử lý đặc biệt bởi psql. Chúng đại diện cho một số
cài đặt tùy chọn có thể được thay đổi tại thời điểm chạy bằng cách thay đổi giá trị của biến,
hoặc trong một số trường hợp đại diện cho trạng thái có thể thay đổi của psql. Mặc dù bạn có thể sử dụng những
các biến cho các mục đích khác, điều này không được khuyến nghị, vì hành vi chương trình có thể
phát triển thực sự kỳ lạ thực sự nhanh chóng. Theo quy ước, tất cả các biến được xử lý đặc biệt '
tên bao gồm tất cả các chữ cái viết hoa ASCII (và có thể cả chữ số và dấu gạch dưới).
Để đảm bảo khả năng tương thích tối đa trong tương lai, hãy tránh sử dụng các tên biến như vậy cho
mục đích của riêng bạn. Sau đây là danh sách tất cả các biến được xử lý đặc biệt.
TỰ ĐỘNG
Khi bật (mặc định), mỗi lệnh SQL sẽ tự động được cam kết khi thành công
hoàn thành. Để hoãn cam kết trong chế độ này, bạn phải nhập BEGIN or BẮT ĐẦU
GIAO DỊCH Lệnh SQL. Khi tắt hoặc bỏ đặt, các lệnh SQL không được cam kết cho đến khi
bạn vấn đề rõ ràng CAM KẾT or END. Chế độ tự động tắt hoạt động bằng cách đưa ra một
ngầm BEGIN cho bạn, ngay trước bất kỳ lệnh nào chưa có trong
khối giao dịch và bản thân nó không phải là BEGIN hoặc lệnh kiểm soát giao dịch khác,
cũng không phải lệnh không thể được thực thi bên trong một khối giao dịch (chẳng hạn như KHOẢNG CHÂN KHÔNG).
Chú thích
Trong chế độ tự động tắt, bạn phải từ bỏ rõ ràng mọi giao dịch không thành công trước
vào HUỶ BỎ or QUAY LẠI. Cũng nên nhớ rằng nếu bạn thoát phiên
mà không cam kết, công việc của bạn sẽ bị mất.
Chú thích
Chế độ tự động gửi là hành vi truyền thống của PostgreSQL, nhưng
autocommit-off gần với thông số SQL hơn. Nếu bạn thích tự động tắt, bạn
có thể muốn đặt nó trong tệp psqlrc toàn hệ thống hoặc ~ / .psqlrc tập tin.
COMP_KEYWORD_CASE
Xác định cách viết hoa chữ cái nào sẽ sử dụng khi hoàn thành một từ khóa SQL. Nếu được đặt thành
dưới hoặc trên, từ đã hoàn thành sẽ ở dạng chữ thường hoặc chữ hoa, tương ứng.
Nếu được đặt thành giữ nguyên-dưới hoặc bảo toàn-trên (mặc định), từ đã hoàn thành sẽ
trong trường hợp từ đã được nhập, nhưng các từ được hoàn thành mà không có
bất kỳ thứ gì được nhập sẽ ở dạng chữ thường hoặc chữ hoa, tương ứng.
TÊN cơ sở dữ liệu
Tên của cơ sở dữ liệu bạn hiện đang kết nối. Điều này được đặt mọi lúc
bạn kết nối với cơ sở dữ liệu (bao gồm cả phần khởi động chương trình), nhưng có thể không được đặt.
ECHO
Nếu được đặt thành tất cả, tất cả các dòng đầu vào trống được in thành đầu ra tiêu chuẩn như chúng vốn có
đọc. (Điều này không áp dụng cho các dòng được đọc tương tác.) Để chọn hành vi này
khi khởi động chương trình, hãy sử dụng công tắc -a. Nếu được đặt thành truy vấn, psql sẽ in từng truy vấn
đến đầu ra tiêu chuẩn khi nó được gửi đến máy chủ. Công tắc cho điều này là -e. Nếu đặt
thành lỗi, sau đó chỉ các truy vấn không thành công được hiển thị trên đầu ra lỗi tiêu chuẩn. Các
chuyển đổi cho cái này là -b. Nếu không được đặt hoặc nếu được đặt thành không có (hoặc bất kỳ giá trị nào khác ngoài những giá trị đó
ở trên) thì không có truy vấn nào được hiển thị.
ECHO_HIDDEN
Khi biến này được đặt thành bật và lệnh dấu gạch chéo ngược truy vấn cơ sở dữ liệu,
truy vấn được hiển thị đầu tiên. Tính năng này giúp bạn nghiên cứu nội bộ của PostgreSQL và
cung cấp chức năng tương tự trong các chương trình của riêng bạn. (Để chọn hành vi này trên
khởi động chương trình, sử dụng công tắc -E.) Nếu bạn đặt biến thành giá trị noexec,
các truy vấn chỉ được hiển thị nhưng không thực sự được gửi đến máy chủ và thực thi.
THƯỞNG THỨC
Mã hóa bộ ký tự máy khách hiện tại.
FETCH_COUNT
Nếu biến này được đặt thành giá trị nguyên> 0, kết quả của CHỌN truy vấn là
được tìm nạp và hiển thị trong các nhóm gồm nhiều hàng đó, thay vì mặc định
hành vi thu thập toàn bộ tập kết quả trước khi hiển thị. Do đó chỉ có một
lượng bộ nhớ giới hạn được sử dụng, bất kể kích thước của tập kết quả.
Cài đặt 100 đến 1000 thường được sử dụng khi bật tính năng này. Ghi nhớ
rằng khi sử dụng tính năng này, một truy vấn có thể không thành công sau khi đã hiển thị
một số hàng.
Mẹo
Mặc dù bạn có thể sử dụng bất kỳ định dạng đầu ra nào với tính năng này, nhưng căn chỉnh mặc định
định dạng có xu hướng trông xấu vì mỗi nhóm FETCH_COUNT hàng sẽ được
được định dạng riêng biệt, dẫn đến độ rộng cột khác nhau trên các nhóm hàng.
Các định dạng đầu ra khác hoạt động tốt hơn.
KIỂM SOÁT LỊCH SỬ
Nếu biến này được đặt thành bỏ qua khoảng trắng, các dòng bắt đầu bằng khoảng trắng sẽ không
vào danh sách lịch sử. Nếu được đặt thành giá trị của các giá trị bị bỏ qua, các dòng khớp với
dòng lịch sử trước đó không được nhập. Giá trị của ignoreboth kết hợp cả hai
tùy chọn. Nếu không được đặt hoặc nếu được đặt thành không (hoặc bất kỳ giá trị nào khác ngoài những giá trị ở trên), tất cả
dòng đọc trong chế độ tương tác được lưu trên danh sách lịch sử.
Chú thích
Tính năng này đã bị Bash đạo văn một cách đáng xấu hổ.
LỊCH SỬ
Tên tệp sẽ được sử dụng để lưu trữ danh sách lịch sử. Giá trị mặc định là
~ / .psql_history. Ví dụ, đặt:
\ set HISTFILE ~ / .psql_history- : DBNAME
in ~ / .psqlrc sẽ khiến psql duy trì lịch sử riêng biệt cho từng cơ sở dữ liệu.
Chú thích
Tính năng này đã bị Bash đạo văn một cách đáng xấu hổ.
KÍCH THƯỚC LỊCH SỬ
Số lượng lệnh cần lưu trữ trong lịch sử lệnh. Giá trị mặc định là 500.
Chú thích
Tính năng này đã bị Bash đạo văn một cách đáng xấu hổ.
HOST
Máy chủ lưu trữ máy chủ cơ sở dữ liệu mà bạn hiện đang kết nối. Điều này được đặt mọi lúc
bạn kết nối với cơ sở dữ liệu (bao gồm cả phần khởi động chương trình), nhưng có thể không được đặt.
BỎ QUA
Nếu không được đặt, gửi một ký tự EOF (thường là Control + D) đến một phiên tương tác
của psql sẽ chấm dứt ứng dụng. Nếu được đặt thành giá trị số, nhiều EOF đó
các ký tự bị bỏ qua trước khi ứng dụng kết thúc. Nếu biến được đặt
nhưng không có giá trị số, mặc định là 10.
Chú thích
Tính năng này đã bị Bash đạo văn một cách đáng xấu hổ.
CUỐI CÙNG
Giá trị của OID bị ảnh hưởng cuối cùng, được trả về từ một CHÈN or \ lo_import
yêu cầu. Biến này chỉ được đảm bảo là hợp lệ cho đến sau kết quả của
lệnh SQL tiếp theo đã được hiển thị.
ON_ERROR_ROLLBACK
Khi được đặt thành bật, nếu một câu lệnh trong khối giao dịch tạo ra lỗi,
lỗi được bỏ qua và giao dịch tiếp tục. Khi được đặt thành tương tác, chẳng hạn
lỗi chỉ được bỏ qua trong các phiên tương tác và không bị bỏ qua khi đọc tập lệnh
các tập tin. Khi bỏ đặt hoặc đặt thành tắt, một câu lệnh trong khối giao dịch sẽ tạo
một lỗi hủy bỏ toàn bộ giao dịch. Chế độ khôi phục lỗi hoạt động bằng cách phát hành
một ẩn ý TIẾT KIỆM cho bạn, ngay trước mỗi lệnh trong một giao dịch
khối, và sau đó quay trở lại điểm lưu nếu lệnh không thành công.
ON_ERROR_STOP
Theo mặc định, quá trình xử lý lệnh vẫn tiếp tục sau khi có lỗi. Khi biến này được đặt
thay vào đó, quá trình xử lý sẽ dừng ngay lập tức. Trong chế độ tương tác, psql sẽ
trở lại dấu nhắc lệnh; nếu không, psql sẽ thoát, trả về mã lỗi 3 cho
phân biệt trường hợp này với các điều kiện lỗi nghiêm trọng, được báo cáo bằng cách sử dụng lỗi
mã 1. Trong cả hai trường hợp, bất kỳ tập lệnh nào hiện đang chạy (tập lệnh cấp cao nhất, nếu
bất kỳ và bất kỳ tập lệnh nào khác mà nó có thể có trong lệnh gọi) sẽ bị chấm dứt
ngay lập tức. Nếu chuỗi lệnh cấp cao nhất chứa nhiều lệnh SQL,
quá trình xử lý sẽ dừng với lệnh hiện tại.
PORT
Cổng máy chủ cơ sở dữ liệu mà bạn hiện đang kết nối. Điều này được thiết lập mọi
thời gian bạn kết nối với cơ sở dữ liệu (bao gồm cả khởi động chương trình), nhưng có thể không được đặt.
LỜI NHẮC1
LỜI NHẮC2
LỜI NHẮC3
Những điều này chỉ định các vấn đề psql lời nhắc sẽ trông như thế nào. Xem phần Nhắc nhở bên dưới.
YÊN TĨNH
Đặt biến này thành bật tương đương với tùy chọn dòng lệnh -q. Đó là
có lẽ không quá hữu ích trong chế độ tương tác.
DUY NHẤT
Đặt biến này thành bật tương đương với tùy chọn dòng lệnh -S.
MỘT BƯỚC
Đặt biến này thành bật tương đương với tùy chọn dòng lệnh -s.
USER
Người dùng cơ sở dữ liệu mà bạn hiện đang kết nối. Điều này được đặt mỗi khi bạn
kết nối với cơ sở dữ liệu (bao gồm cả khởi động chương trình), nhưng có thể không được đặt.
ĐỘ RÕ RÀNG
Biến này có thể được đặt thành các giá trị mặc định, dài hoặc ngắn để kiểm soát
tính chi tiết của các báo cáo lỗi.
SQL Phép nội suy
Một tính năng chính của các biến psql là bạn có thể thay thế ("nội suy") chúng thành
các câu lệnh SQL thông thường, cũng như các đối số của các lệnh meta. Hơn nữa, psql
cung cấp các phương tiện để đảm bảo rằng các giá trị biến được sử dụng dưới dạng các ký tự SQL và
số nhận dạng được trích dẫn chính xác. Cú pháp để nội suy một giá trị mà không có bất kỳ
trích dẫn là thêm vào trước tên biến bằng dấu hai chấm (:). Ví dụ,
testdb => \bộ foo 'my_table'
testdb => CHỌN * TỪ : foo;
sẽ truy vấn bảng my_table. Lưu ý rằng điều này có thể không an toàn: giá trị của
biến được sao chép theo nghĩa đen, vì vậy nó có thể chứa các dấu ngoặc kép không cân bằng hoặc thậm chí là dấu gạch chéo ngược
các lệnh. Bạn phải đảm bảo rằng nó có ý nghĩa ở nơi bạn đặt nó.
Khi một giá trị được sử dụng như một ký tự hoặc mã định danh SQL, cách an toàn nhất là sắp xếp
để nó được trích dẫn. Để trích dẫn giá trị của một biến dưới dạng một ký tự SQL, hãy viết dấu hai chấm
theo sau là tên biến trong dấu nháy đơn. Để trích dẫn giá trị dưới dạng SQL
định danh, viết dấu hai chấm theo sau là tên biến trong dấu ngoặc kép. Này
cấu trúc giao dịch chính xác với dấu ngoặc kép và các ký tự đặc biệt khác được nhúng trong
giá trị biến. Ví dụ trước sẽ được viết an toàn hơn theo cách này:
testdb => \bộ foo 'my_table'
testdb => CHỌN * TỪ : "foo";
Nội suy biến sẽ không được thực hiện trong các ký tự SQL được trích dẫn và
định danh. Do đó, cấu trúc như ': foo' không hoạt động để tạo ra một trích dẫn
chữ từ giá trị của một biến (và sẽ không an toàn nếu nó hoạt động, vì nó
sẽ không xử lý chính xác các dấu ngoặc kép được nhúng trong giá trị).
Một ví dụ sử dụng cơ chế này là sao chép nội dung của tệp vào bảng
cột. Đầu tiên tải tệp vào một biến và sau đó nội suy giá trị của biến
dưới dạng một chuỗi được trích dẫn:
testdb => \bộ nội dung `mèo my_file.txt`
testdb => CHÈN VÀO bảng_của_tôi GIÁ TRỊ (:'Nội dung');
(Lưu ý rằng điều này vẫn sẽ không hoạt động nếu my_file.txt chứa NUL byte. Psql thì không
hỗ trợ các byte NUL được nhúng trong các giá trị biến đổi.)
Vì dấu hai chấm có thể xuất hiện hợp pháp trong các lệnh SQL, một nỗ lực nội suy rõ ràng
(nghĩa là: name,: 'name', hoặc: "name") không được thay thế trừ khi biến được đặt tên là
hiện đang được thiết lập. Trong mọi trường hợp, bạn có thể thoát khỏi dấu hai chấm với dấu gạch chéo ngược để bảo vệ nó khỏi
thay thế.
Cú pháp dấu hai chấm cho các biến là SQL tiêu chuẩn cho các ngôn ngữ truy vấn được nhúng, chẳng hạn như
ECPG. Các cú pháp dấu hai chấm cho các lát mảng và phôi kiểu là các phần mở rộng PostgreSQL,
đôi khi có thể xung đột với cách sử dụng tiêu chuẩn. Cú pháp dấu hai chấm cho
thoát giá trị của một biến dưới dạng ký tự hoặc mã định danh SQL là một phần mở rộng psql.
Nhắc nhở
Các vấn đề psql lời nhắc có thể được tùy chỉnh theo sở thích của bạn. Ba biến
LỜI NHẮC1, LỜI NHẮC2và LỜI NHẮC3 chứa các chuỗi và chuỗi thoát đặc biệt
mô tả sự xuất hiện của dấu nhắc. Lời nhắc 1 là lời nhắc bình thường được đưa ra
khi psql yêu cầu một lệnh mới. Lời nhắc 2 được đưa ra khi có nhiều thông tin đầu vào hơn
trong khi nhập lệnh vì lệnh không được kết thúc bằng dấu chấm phẩy hoặc dấu
trích dẫn đã không được đóng. Lời nhắc 3 được đưa ra khi bạn chạy SQL COPY lệnh và bạn là
dự kiến nhập các giá trị hàng trên thiết bị đầu cuối.
Giá trị của biến dấu nhắc đã chọn được in theo nghĩa đen, ngoại trừ trường hợp phần trăm
gặp phải dấu (%). Tùy thuộc vào ký tự tiếp theo, một số văn bản khác là
thay vào đó thay thế. Sự thay thế được xác định là:
%M
Tên máy chủ đầy đủ (với tên miền) của máy chủ cơ sở dữ liệu hoặc [cục bộ] nếu
kết nối qua ổ cắm miền Unix hoặc [cục bộ:/ dir / name], nếu miền Unix
ổ cắm không ở vị trí đã biên dịch ở vị trí mặc định.
%m
Tên máy chủ của máy chủ cơ sở dữ liệu, bị cắt ngắn ở dấu chấm đầu tiên hoặc [cục bộ] nếu
kết nối qua ổ cắm miền Unix.
%>
Số cổng mà máy chủ cơ sở dữ liệu đang lắng nghe.
%n
Tên người dùng phiên cơ sở dữ liệu. (Việc mở rộng giá trị này có thể thay đổi trong thời gian
phiên cơ sở dữ liệu là kết quả của lệnh SET CHUYÊN ĐỀ ỦY QUYỀN.)
%/
Tên của cơ sở dữ liệu hiện tại.
%~
Giống như% /, nhưng đầu ra là ~ (dấu ngã) nếu cơ sở dữ liệu là cơ sở dữ liệu mặc định của bạn.
%#
Nếu người dùng phiên là siêu người dùng cơ sở dữ liệu, thì là #, nếu không thì là>. (Các
việc mở rộng giá trị này có thể thay đổi trong phiên cơ sở dữ liệu do kết quả của
lệnh SET CHUYÊN ĐỀ ỦY QUYỀN.)
%R
Trong dấu nhắc 1 thường =, nhưng ^ nếu ở chế độ một dòng, và! nếu phiên là
bị ngắt kết nối khỏi cơ sở dữ liệu (có thể xảy ra nếu \liên kết không thành công). Trong lời nhắc 2
trình tự được thay thế bằng -, *, một dấu ngoặc kép, một dấu ngoặc kép hoặc một đô la
dấu hiệu, tùy thuộc vào việc psql mong đợi nhiều đầu vào hơn vì lệnh không
đã bị chấm dứt, vì bạn đang ở trong một bình luận / * ... * / hoặc vì bạn đang
bên trong một chuỗi được trích dẫn hoặc thoát bằng đô la. Trong lời nhắc 3, trình tự không tạo ra
bất cứ điều gì
%x
Trạng thái giao dịch: một chuỗi trống khi không ở trong khối giao dịch hoặc * khi ở trong
một khối giao dịch, hoặc! khi trong một khối giao dịch không thành công, hoặc? khi mà
trạng thái giao dịch là không xác định (ví dụ: vì không có kết nối).
%l
Số dòng bên trong câu lệnh hiện tại, bắt đầu từ 1.
%chữ số
Ký tự có mã bát phân được chỉ định được thay thế.
%:tên:
Giá trị của biến psql tên. Xem phần Biến để biết chi tiết.
%`lệnh`
Đầu ra của lệnh, tương tự như thay thế "đánh dấu lùi" thông thường.
% [...%]
Lời nhắc có thể chứa các ký tự điều khiển đầu cuối, ví dụ: thay đổi
màu sắc, nền hoặc kiểu của văn bản nhắc nhở hoặc thay đổi tiêu đề của
cửa sổ đầu cuối. Để các tính năng chỉnh sửa dòng của Readline hoạt động
đúng cách, các ký tự điều khiển không in này phải được chỉ định là ẩn bởi
bao quanh chúng bằng% [và%]. Nhiều cặp trong số này có thể xảy ra trong
lời nhắc. Ví dụ:
testdb => \ đặt PROMPT1 '% [% 033 [1; 33; 40m%]% n @% /% R% [% 033 [0m%]% #'
dẫn đến lời nhắc in đậm (1;) màu vàng trên nền đen (33; 40) trên tương thích VT100,
thiết bị đầu cuối có khả năng tạo màu.
Để chèn dấu phần trăm vào lời nhắc của bạn, hãy viết %%. Lời nhắc mặc định là '% /% R% #'
cho lời nhắc 1 và 2 và '>>' cho lời nhắc 3.
Chú thích
Tính năng này đã bị ăn cắp một cách đáng xấu hổ từ tcsh.
Dòng lệnh Chỉnh sửa
psql hỗ trợ thư viện Readline để chỉnh sửa và truy xuất dòng thuận tiện. Các
lịch sử lệnh được tự động lưu khi psql thoát và được tải lại khi psql
khởi nghiệp. Tính năng hoàn thành bằng tab cũng được hỗ trợ, mặc dù logic hoàn thành không có
tuyên bố là một trình phân tích cú pháp SQL. Các truy vấn được tạo bằng cách hoàn thành tab cũng có thể gây trở ngại
với các lệnh SQL khác, ví dụ: ĐẶT MỨC ĐỘ CỰC KỲ GIAO DỊCH. Nếu vì lý do nào đó bạn
không thích việc hoàn thành tab, bạn có thể tắt nó bằng cách đặt nó vào một tệp có tên
.inputrc trong thư mục chính của bạn:
$ nếu psql
đặt vô hiệu hóa hoàn thành trên
$ endif
(Đây không phải là psql mà là tính năng Readline. Đọc tài liệu của nó để biết thêm
thông tin chi tiết.)
MÔI TRƯỜNG
CỘT
Nếu cột \ pset bằng XNUMX, kiểm soát chiều rộng cho định dạng được bao bọc và chiều rộng cho
xác định xem đầu ra rộng có yêu cầu máy nhắn tin hay nên được chuyển sang máy dọc
định dạng ở chế độ tự động mở rộng.
PAGER
Nếu kết quả truy vấn không vừa trên màn hình, chúng sẽ được chuyển qua lệnh này.
Giá trị tiêu biểu là nhiều hơn hoặc ít hơn. Giá trị mặc định phụ thuộc vào nền tảng. Việc sử dụng
máy nhắn tin có thể bị vô hiệu hóa bằng cách sử dụng \ pset chỉ huy.
cơ sở dữ liệu PG
PGHOST
PGPORT
NGƯỜI DÙNG
Các tham số kết nối mặc định (xem Phần 31.14, “Biến môi trường”, trong
tài liệu).
PSQL_EDITOR
EDITOR
TRỰC QUAN
Trình chỉnh sửa được sử dụng bởi \e và \ ef các lệnh. Các biến được kiểm tra theo thứ tự
liệt kê; cái đầu tiên được thiết lập sẽ được sử dụng.
Các trình soạn thảo mặc định được tích hợp sẵn là vi trên hệ thống Unix và notepad.exe trên Windows
hệ thống.
PSQL_EDITOR_LINENUMBER_ARG
Thời Gian \e or \ ef được sử dụng với đối số số dòng, biến này chỉ định
đối số dòng lệnh được sử dụng để chuyển số dòng bắt đầu cho trình soạn thảo của người dùng. Vì
các trình soạn thảo như Emacs hoặc vi, đây là một dấu cộng. Bao gồm một khoảng trống ở cuối trong
giá trị của biến nếu cần có khoảng cách giữa tên tùy chọn và dòng
số. Ví dụ:
PSQL_EDITOR_LINENUMBER_ARG = '+'
PSQL_EDITOR_LINENUMBER_ARG = '- dòng'
Giá trị mặc định là + trên hệ thống Unix (tương ứng với trình soạn thảo mặc định vi, và hữu ích
cho nhiều trình soạn thảo thông thường khác); nhưng không có mặc định trên hệ thống Windows.
PSQL_HISTORY
Vị trí thay thế cho tệp lịch sử lệnh. Khai triển dấu ngã (~) được thực hiện.
PSQLRC
Vị trí thay thế của tệp .psqlrc của người dùng. Khai triển dấu ngã (~) được thực hiện.
SHELL
Lệnh được thực thi bởi \! chỉ huy.
TMPDIR
Thư mục lưu trữ các tệp tạm thời. Giá trị mặc định là / tmp.
Tiện ích này, giống như hầu hết các tiện ích PostgreSQL khác, cũng sử dụng các biến môi trường
được hỗ trợ bởi libpq (xem Phần 31.14, “Biến môi trường”, trong tài liệu).
Sử dụng psql trực tuyến bằng các dịch vụ onworks.net