Kết nối với cơ sở dữ liệu PostgreSQL
Lệnh sau kết nối với cơ sở dữ liệu dưới một người dùng cụ thể. Sau khi nhấn Enter
PostgreSQL sẽ hỏi mật khẩu của người dùng.
psql -d database -U user -W
Ví dụ, để kết nối với dvdrental
cơ sở dữ liệu dưới quyền postgres
, bạn sử dụng lệnh sau:
>psql -d dvdrental -U postgres -W Password for user postgres: dvdrental=#
Nếu bạn muốn kết nối với cơ sở dữ liệu nằm trên máy chủ lưu trữ khác, bạn thêm tùy chọn -h như sau:
psql -h host -d database -U user -W
Trong trường hợp bạn muốn sử dụng chế độ SSL cho kết nối, chỉ cần chỉ định nó như được hiển thị trong lệnh sau:
psql -U user -h host "dbname=db sslmode=require"
Chuyển kết nối sang database mới
Khi bạn đã kết nối với cơ sở dữ liệu, bạn có thể chuyển kết nối sang cơ sở dữ liệu mới với người dùng được chỉ định bởi user
. Kết nối trước đó sẽ bị đóng. Nếu bạn bỏ qua tham số user
, thì user
hiện tại được sử dụng mặc định.
\c dbname username
Lệnh sau kết nối với cơ sở dữ liệu dvdrental
dưới user postgres
:
postgres=# \c dvdrental You are now connected to database "dvdrental" as user "postgres". dvdrental=#
Liệt kê các cơ sở dữ liệu có sẵn
Để liệt kê tất cả cơ sở dữ liệu trong máy chủ cơ sở dữ liệu PostgreSQL hiện tại, bạn sử dụng lệnh \l
:
\l
Liệt kê các bảng có sẵn
Để liệt kê tất cả các bảng trong cơ sở dữ liệu hiện tại, bạn sử dụng lệnh \dt
:
\dt
Lưu ý rằng lệnh này hiển thị bảng duy nhất trong cơ sở dữ liệu hiện được kết nối.
Mô tả một bảng
Để mô tả một bảng chẳng hạn như một cột, kiểu, các công cụ thay đổi của các cột, v.v., bạn sử dụng lệnh sau:
\d table_name
Liệt kê schema có sẵn
Để liệt kê tất cả các schema của cơ sở dữ liệu hiện được kết nối, bạn sử dụng lệnh \dn
.
\dn
Liệt kê các function có sẵn
Để liệt kê các function có sẵn trong cơ sở dữ liệu hiện tại, bạn sử dụng lệnh \df
.
\df
Liệt kê các view có sẵn
Để liệt kê các dạng view có sẵn trong cơ sở dữ liệu hiện tại, bạn sử dụng lệnh \dv
.
\dv
Liệt kê user và role của user
Để liệt kê tất cả user và role được chỉ định của họ, bạn sử dụng lệnh \du
:
\du
Thực hiện lệnh trước đó
Để truy xuất phiên bản hiện tại của máy chủ PostgreSQL, bạn sử dụng hàm version()
như sau:
SELECT version();
Bây giờ, bạn muốn tiết kiệm thời gian gõ lại lệnh trước đó, bạn có thể sử dụng lệnh \g
để thực hiện lệnh trước đó:
\g
psql thực hiện lại lệnh trước đó, đó là câu lệnh SELECT ,.
Lịch sử lệnh
Để hiển thị lịch sử lệnh, bạn sử dụng lệnh \s
.
\s
Nếu bạn muốn lưu lịch sử lệnh vào một tệp, bạn cần chỉ định tên tệp theo lệnh \s
như sau:
\s filename
Thực thi các lệnh psql từ một tệp
Trong trường hợp bạn muốn thực thi các lệnh psql từ một tệp, bạn sử dụng lệnh \i
như sau:
\i filename
Nhận trợ giúp về các lệnh psql
Để biết tất cả các lệnh psql có sẵn, bạn sử dụng lệnh \?
.
\?
Để nhận trợ giúp về câu lệnh PostgreSQL cụ thể, bạn sử dụng lệnh \h
.
Ví dụ: nếu bạn muốn biết thông tin chi tiết về câu lệnh ALTER TABLE , bạn sử dụng lệnh sau:
\h ALTER TABLE
Bật thời gian thực hiện truy vấn
Để bật thời gian thực hiện truy vấn, bạn sử dụng lệnh \timing
.
dvdrental=# \timing Timing is on. dvdrental=# select count(*) from film; count ------- 1000 (1 row) Time: 1.495 ms dvdrental=
Bạn sử dụng lệnh tương tự \timing
để tắt nó đi.
dvdrental=# \timing Timing is off. dvdrental=#
Chỉnh sửa lệnh trong trình soạn thảo của riêng bạn
Sẽ rất tiện nếu bạn có thể gõ lệnh trong trình soạn thảo yêu thích của mình. Để làm điều này trong psql, bạn dùng lệnh \e
. Sau khi chạy lệnh, psql sẽ mở trình soạn thảo văn bản được xác định bởi biến môi trường EDITOR của bạn và đặt lệnh gần đây nhất mà bạn đã nhập trong psql vào trình soạn thảo.
Sau khi bạn nhập lệnh vào trình chỉnh sửa, lưu nó và đóng trình chỉnh sửa, psql sẽ thực hiện lệnh và trả về kết quả.
Nó hữu ích hơn khi bạn chỉnh sửa một hàm trong trình chỉnh sửa.
\ef [function name]
Chuyển đổi các tùy chọn đầu ra
psql hỗ trợ một số loại định dạng đầu ra và cho phép bạn tùy chỉnh cách định dạng đầu ra một cách nhanh chóng.
-
\a
lệnh chuyển từ đầu ra cột được căn chỉnh sang không căn chỉnh. -
\H
lệnh định dạng đầu ra sang định dạng HTML.
Thoát psql
Để thoát psql, bạn sử dụng lệnh \q
và nhấn enter
để thoát psql.
\q
Trong hướng dẫn này, bạn đã học cách sử dụng các lệnh psql để thực hiện các tác vụ thường được sử dụng khác nhau trong PostgreSQL.