Android

Làm thế nào để liệt kê các cơ sở dữ liệu và bảng postgresql bằng cách sử dụng psql

PostgreSQL Shell - How to use psql Shell

PostgreSQL Shell - How to use psql Shell

Mục lục:

Anonim

Khi quản trị các máy chủ cơ sở dữ liệu PostgreSQL, một trong những nhiệm vụ phổ biến nhất bạn có thể thực hiện là liệt kê các cơ sở dữ liệu và các bảng của chúng.

PostgreSQL đi kèm với một công cụ tương tác có tên là psql cho phép bạn kết nối với máy chủ và chạy các truy vấn đối với nó. Khi sử dụng psql bạn cũng có thể tận dụng các lệnh meta của nó. Các lệnh này rất hữu ích cho kịch bản và quản trị dòng lệnh. Tất cả các lệnh meta bắt đầu bằng dấu gạch chéo ngược không trích dẫn và còn được gọi là lệnh dấu gạch chéo ngược.

Hướng dẫn này giải thích cách hiển thị cơ sở dữ liệu và bảng trong máy chủ PostgreSQL bằng psql .

Liệt kê cơ sở dữ liệu

Bạn có thể kết nối với máy chủ PostgreSQL bằng lệnh psql như bất kỳ người dùng hệ thống nào. Tùy thuộc vào cấu hình máy chủ, người dùng có thể cần nhập mật khẩu của nó để kết nối với thiết bị đầu cuối psql. Để truy cập thiết bị đầu cuối psql với tư cách là người dùng mà bạn hiện đang đăng nhập, chỉ cần gõ psql .

Khi gói PostgreSQL được cài đặt, một người dùng quản trị có tên là Post postgres 'được tạo. Theo mặc định, người dùng này có thể kết nối với máy chủ PostgreSQL cục bộ mà không cần mật khẩu.

Để truy cập thiết bị đầu cuối psql với tư cách là người dùng Postgres, hãy chạy:

sudo -u postgres psql Lệnh sudo cho phép bạn chạy các lệnh như một người dùng khác.

Từ bên trong thiết bị đầu cuối psql thực thi \l hoặc \list lệnh meta để liệt kê tất cả các cơ sở dữ liệu:

\l

Đầu ra sẽ bao gồm số lượng cơ sở dữ liệu, tên của từng cơ sở dữ liệu, chủ sở hữu của nó, đặc quyền mã hóa và truy cập:

List of databases Name | Owner | Encoding | Collate | Ctype | Access privileges -----------+----------+----------+---------+---------+----------------------- odoo | odoo | UTF8 | C | C.UTF-8 | postgres | postgres | UTF8 | C.UTF-8 | C.UTF-8 | template0 | postgres | UTF8 | C.UTF-8 | C.UTF-8 | =c/postgres + | | | | | postgres=CTc/postgres template1 | postgres | UTF8 | C.UTF-8 | C.UTF-8 | =c/postgres + | | | | | postgres=CTc/postgres (4 rows)

Máy chủ PostgreSQL có ba cơ sở dữ liệu được tạo theo mặc định, template0, template1 và postgres. Hai cái đầu tiên là các mẫu được sử dụng khi tạo cơ sở dữ liệu mới.

Để có được danh sách tất cả các cơ sở dữ liệu mà không cần truy cập shell psql, hãy sử dụng khóa -c như dưới đây:

sudo -u postgres psql -c "\l"

Một cách khác để liệt kê các cơ sở dữ liệu là sử dụng câu lệnh SQL sau:

SELECT datname FROM pg_database;

Không giống như lệnh \l meta, truy vấn ở trên sẽ chỉ hiển thị tên của cơ sở dữ liệu:

datname ----------- postgres odoo template1 template0 (4 rows)

Bảng liệt kê

Để liệt kê tất cả các bảng của một cơ sở dữ liệu cụ thể trước tiên, bạn cần kết nối với nó bằng cách sử dụng lệnh \c hoặc \connect meta. Người dùng mà bạn đã đăng nhập như thiết bị đầu cuối psql phải có khả năng kết nối với cơ sở dữ liệu.

Ví dụ: để kết nối với cơ sở dữ liệu có tên là Wap odoo, bạn sẽ gõ:

\c odoo

Khi cơ sở dữ liệu được chuyển đổi, hãy sử dụng lệnh \dt meta để liệt kê tất cả các bảng cơ sở dữ liệu:

Đầu ra sẽ bao gồm số lượng bảng, tên của mỗi bảng và lược đồ, loại và chủ sở hữu của nó:

List of relations Schema | Name | Type | Owner --------+-----------------------------------------------------+-------+------- public | base_import_import | table | odoo public | base_import_mapping | table | odoo public | base_import_tests_models_char | table | odoo… public | web_editor_converter_test_sub | table | odoo public | web_tour_tour | table | odoo public | wizard_ir_model_menu_create | table | odoo (107 rows)

Nếu cơ sở dữ liệu trống, đầu ra sẽ như thế này:

No relations found.

Để nhận thông tin về kích thước của các bảng và mô tả, hãy sử dụng \dt+ .

Phần kết luận

Bạn đã học cách liệt kê các bảng và cơ sở dữ liệu PostgreSQL bằng lệnh psql .

Hãy để lại nhận xét nếu bạn có bất kỳ câu hỏi nào.

postgresql