Thứ hai, 28/04/2014 | 00:00 GMT+7

Cách cài đặt và sử dụng PostgreSQL trên Ubuntu 14.04

Hệ quản trị database quan hệ là thành phần chính của nhiều trang web và ứng dụng. Chúng cung cấp một cách có cấu trúc để lưu trữ, sắp xếp và truy cập thông tin.

PostgreSQL , hoặc Postgres, là một hệ thống quản lý database quan hệ cung cấp việc triển khai ngôn ngữ truy vấn SQL. Nó là một lựa chọn phổ biến cho nhiều dự án lớn và nhỏ và có ưu điểm là tuân theo các tiêu chuẩn và có nhiều tính năng nâng cao như giao dịch tin cậy và đồng thời mà không cần khóa đọc.

Trong hướng dẫn này, ta sẽ trình bày cách cài đặt Postgres trên version VPS Ubuntu 14.04 và xem qua một số cách cơ bản để sử dụng nó.

Cài đặt

Kho lưu trữ mặc định của Ubuntu chứa các gói Postgres, vì vậy ta có thể cài đặt chúng mà không gặp rắc rối bằng cách sử dụng trình cài đặt gói apt .

Vì ta chưa cập nhật repository apt local của bạn gần đây, hãy làm điều đó ngay bây giờ. Sau đó, ta có thể nhận gói Postgres và gói "đóng góp" bổ sung một số tiện ích và chức năng bổ sung:

sudo apt-get update sudo apt-get install postgresql postgresql-contrib 

Bây giờ phần mềm của ta đã được cài đặt, ta có thể xem lại cách nó hoạt động và nó có thể khác gì với các hệ thống quản lý database tương tự mà bạn đã sử dụng.

Sử dụng Database và Role PostgreSQL

Theo mặc định, Postgres sử dụng một khái niệm gọi là " role " để hỗ trợ xác thực và ủy quyền. Về mặt nào đó, chúng tương tự như các account kiểu Unix thông thường, nhưng Postgres không phân biệt giữa user và group và thay vào đó thích thuật ngữ linh hoạt hơn “ role ”.

Khi cài đặt, Postgres được cài đặt để sử dụng xác thực "danh tính", nghĩa là nó liên kết các role của Postgres với account hệ thống Unix / Linux phù hợp. Nếu một role Postgres tồn tại, nó có thể được đăng nhập bằng cách đăng nhập vào account hệ thống Linux được liên kết.

Quy trình cài đặt đã tạo một account user được gọi là postgres được liên kết với role Postgres mặc định. Để sử dụng Postgres, ta cần đăng nhập vào account đó. Bạn có thể thực hiện bằng cách gõ:

sudo -i -u postgres 

Bạn cần nhập password user bình thường của bạn và sau đó sẽ nhận được dấu nhắc shell cho user postgres .

Bạn có thể nhận được dấu nhắc Postgres ngay lập tức bằng lệnh :

psql 

Bạn sẽ được đăng nhập tự động và có thể tương tác với hệ quản trị database ngay lập tức.

Tuy nhiên, ta sẽ giải thích một chút về cách sử dụng các role và database khác để bạn có một số linh hoạt về user và database mà bạn muốn làm việc.

Thoát khỏi dấu nhắc PostgreSQL bằng lệnh :

\q 

Đến đây bạn sẽ quay lại dấu nhắc lệnh postgres Linux.

Tạo một role mới

Từ account postgres Linux, bạn có thể đăng nhập vào hệ thống database . Tuy nhiên, ta cũng sẽ trình bày cách tạo các role bổ sung. Tài khoản postgres Linux, được liên kết với role quản trị Postgres, có quyền truy cập vào một số tiện ích để tạo user và database .

Ta có thể tạo một role mới bằng lệnh :

createuser --interactive 

Về cơ bản, đây là một tập lệnh shell tương tác gọi các lệnh Postgres chính xác để tạo user theo thông số kỹ thuật của bạn. Nó sẽ chỉ hỏi bạn hai câu hỏi: tên của role và liệu nó có nên là một siêu user hay không. Bạn có thể kiểm soát nhiều hơn bằng cách chuyển một số cờ bổ sung. Kiểm tra các tùy chọn bằng cách xem trang man :

man createuser 

Tạo database mới

Cách Postgres được cài đặt theo mặc định (xác thực các role được yêu cầu bởi các account hệ thống phù hợp) cũng đi kèm với giả định một database phù hợp sẽ tồn tại cho role kết nối.

Vì vậy, nếu tôi có một user được gọi là test1 , role đó sẽ cố gắng kết nối với database có tên là test1 theo mặc định.

Bạn có thể tạo database thích hợp bằng cách chỉ cần gọi lệnh này với quyền là user postgres :

<pre>
createb <span class = “highlight”> test1 </span>
</pre>

Kết nối với Postgres với User mới

Giả sử rằng bạn có một account hệ thống Linux được gọi là test1 (bạn có thể tạo một account bằng lệnh : adduser test1 ) và bạn đã tạo một role Postgres và database cũng được gọi là test1 .

Bạn có thể thay đổi account hệ thống Linux bằng lệnh :

<pre>
sudo -i -u <span class = “highlight”> test1 </span>
</pre>

Sau đó, bạn có thể kết nối với database test1 dưới dạng role Postgres test1 bằng lệnh :

psql 

Thao tác này sẽ tự động đăng nhập giả sử rằng tất cả các thành phần đã được cấu hình.

Nếu bạn muốn user của bạn kết nối với một database khác, bạn có thể thực hiện bằng cách chỉ định database như sau:

<pre>
psql -d <span class = “highlight”> postgres </span>
</pre>

Bạn có thể nhận thông tin về user Postgres mà bạn đang đăng nhập và database bạn hiện đang kết nối bằng lệnh :

\conninfo 

You are connected to database "postgres" as user "postgres" via socket in "/var/run/postgresql" at port "5432". 

Điều này có thể giúp nhắc nhở bạn về cài đặt hiện tại của bạn nếu bạn đang kết nối với database không mặc định hoặc với user không mặc định.

Tạo và xóa bảng

Đến đây bạn đã biết cách kết nối với hệ thống database PostgreSQL, ta sẽ bắt đầu đi qua cách hoàn thành một số tác vụ cơ bản.

Đầu tiên, hãy tạo một bảng để lưu trữ một số dữ liệu. Hãy tạo một bảng mô tả thiết bị playground .

Cú pháp cơ bản cho lệnh này như sau:

<pre>
TẠO BẢNG <span class = “highlight”> tên bảng </span> (
<span class = “highlight”> column
name1 </span> <span class = “highlight”> col type </span> (<span class = “highlight”> field length </span>) <span class = “highlight ”> Ràng buộc cột </span>,
<span class = “highlight”> column
name2 </span> <span class = “highlight”> col type </span> (<span class = “highlight”> field length </span>),
<span class = “highlight”> column name3 </span> <span class = “highlight”> col type </span> (<span class = “highlight”> field_length </span>)
);
</pre>

Như bạn thấy , ta đặt tên cho bảng, sau đó xác định các cột mà ta muốn, cũng như loại cột và độ dài tối đa của trường dữ liệu . Ta cũng có thể tùy chọn thêm các ràng buộc bảng cho mỗi cột.

Bạn có thể tìm hiểu thêm về cách tạo và quản lý bảng trong Postgres tại đây.

Vì mục đích của ta , ta sẽ tạo một bảng đơn giản như sau:

CREATE TABLE playground (     equip_id serial PRIMARY KEY,     type varchar (50) NOT NULL,     color varchar (25) NOT NULL,     location varchar(25) check (location in ('north', 'south', 'west', 'east', 'northeast', 'southeast', 'southwest', 'northwest')),     install_date date ); 

Ta đã làm một bàn chơi để kiểm kê các thiết bị mà ta có. Điều này bắt đầu với một ID thiết bị, thuộc loại serial . Kiểu dữ liệu này là một số nguyên tự động tăng dần. Ta đã cung cấp cho cột này ràng buộc của primary key nghĩa là các giá trị phải là duy nhất và không được rỗng.

Đối với hai trong số các cột của ta , ta đã không đưa ra độ dài trường. Điều này là do một số loại cột không yêu cầu độ dài đã đặt vì độ dài được xác định bởi kiểu .

Sau đó, ta đưa ra các cột cho loại thiết bị và màu sắc, mỗi cột không được để trống. Sau đó, ta tạo một cột vị trí và tạo một ràng buộc yêu cầu giá trị phải là một trong tám giá trị có thể. Cột cuối cùng là cột ngày ghi ngày ta lắp đặt thiết bị.

Ta có thể thấy bảng mới của bạn bằng lệnh vào:

\d 

                   List of relations  Schema |          Name           |   Type   |  Owner    --------+-------------------------+----------+----------  public | playground              | table    | postgres  public | playground_equip_id_seq | sequence | postgres (2 rows) 

Như bạn thấy , ta có bảng playground của bạn , nhưng ta cũng có một cái gì đó được gọi là playground_equip_id_seq thuộc loại sequence . Đây là đại diện của loại "nối tiếp" mà ta đã cung cấp cho cột equip_id của ta . Điều này giúp theo dõi số tiếp theo trong dãy.

Nếu bạn chỉ muốn xem bảng, có thể chạy lệnh:

\dt 

           List of relations  Schema |    Name    | Type  |  Owner    --------+------------+-------+----------  public | playground | table | postgres (1 row) 

Thêm, truy vấn và xóa dữ liệu trong bảng

Bây giờ ta đã tạo một bảng, ta có thể chèn một số dữ liệu vào đó.

Hãy thêm một đường trượt và một chiếc xích đu. Ta thực hiện điều này bằng cách gọi bảng mà ta muốn thêm vào, đặt tên cho các cột và sau đó cung cấp dữ liệu cho mỗi cột. Cầu trượt và xích đu của ta có thể được thêm vào như sau:

<pre>
CHÈN VÀO playground (loại, màu sắc, vị trí, ngày cài đặt ) VALUES ('slide', 'blue', 'south', '2014-04-28');
CHÈN VÀO playground (loại, màu sắc, vị trí,
ngày cài đặt ) VALUES ('swing', 'yellow', 'west', '2010-08-16');
</pre>

Bạn nên nhận thấy một vài điều. Trước tiên, hãy nhớ rằng tên cột không nên được trích dẫn, nhưng các giá trị cột bạn đang nhập cần được trích dẫn.

Một điều cần lưu ý nữa là ta không nhập giá trị cho cột equip_id . Điều này là do điều này được tạo tự động khi nào một hàng mới trong bảng được tạo.

Sau đó, ta có thể lấy lại thông tin ta đã thêm bằng lệnh :

SELECT * FROM playground; 

Trang bị_id kiểu màu sắc vị trí install_date
1 cầu trượt màu xanh da trời domain Nam 2014-04-28
2 lung lay màu vàng Tây Bắc 2010-08-16
(2 rows) 

Ở đây, bạn có thể thấy rằng ta equip_id đã được lấp đầy trong thành công và rằng tất cả các dữ liệu khác của ta đã được tổ chức một cách chính xác.

Nếu trang trình bày của ta bị hỏng và ta xóa nó khỏi playground , ta cũng có thể xóa hàng khỏi bảng của bạn bằng lệnh :

DELETE FROM playground WHERE type = 'slide'; 

Nếu ta truy vấn lại bảng của bạn , ta sẽ thấy trang trình bày của ta không còn là một phần của bảng:

SELECT * FROM playground; 

Trang bị_id kiểu màu sắc vị trí install_date
2 lung lay màu vàng Tây Bắc 2010-08-16
(1 row) 

Cách thêm và xóa cột khỏi bảng

Nếu ta muốn sửa đổi một bảng sau khi nó đã được tạo để thêm một cột bổ sung, ta có thể làm điều đó một cách dễ dàng.

Ta có thể thêm một cột để hiển thị lần bảo trì mới nhất cho từng phần thiết bị bằng lệnh :

<pre>
ALTER TABLE playground THÊM ngày cuối cùng;
</pre>

Nếu bạn xem lại thông tin bảng của bạn , bạn sẽ thấy cột mới đã được thêm vào (nhưng không có dữ liệu nào được nhập vào):

SELECT * FROM playground; 

Trang bị_id kiểu màu sắc vị trí install_date last_maint
2 lung lay màu vàng Tây Bắc 2010-08-16
(1 row) 

Ta có thể xóa một cột dễ dàng như vậy. Nếu ta thấy rằng group làm việc của ta sử dụng một công cụ riêng biệt để theo dõi lịch sử bảo trì, ta có thể loại bỏ cột ở đây bằng lệnh :

ALTER TABLE playground DROP last_maint; 

Cách cập nhật dữ liệu trong bảng

Ta biết cách thêm bản ghi vào bảng và cách xóa chúng, nhưng ta chưa trình bày cách sửa đổi các giá trị đã nhập .

Bạn có thể cập nhật các giá trị của mục nhập hiện có bằng cách truy vấn bản ghi bạn muốn và đặt cột thành giá trị bạn muốn sử dụng. Ta có thể truy vấn bản ghi “swing” (điều này sẽ trùng với mọi swing trong bảng của ta ) và thay đổi màu của nó thành “đỏ”. Điều này có thể hữu ích nếu ta cho nó một công việc sơn:

<pre>
CẬP NHẬT playground SET color = 'red' WHERE type = 'swing';
</pre>

Ta có thể xác minh hoạt động đã thành công bằng cách truy vấn lại dữ liệu của ta :

SELECT * FROM playground; 

Trang bị_id kiểu màu sắc vị trí install_date
2 lung lay đỏ Tây Bắc 2010-08-16
(1 row) 

Như bạn thấy , trang trình bày của ta hiện đã được đăng ký là có màu đỏ.

Kết luận

Đến đây bạn đã được cài đặt với PostgreSQL trên server Ubuntu 14.04 của bạn . Tuy nhiên, vẫn còn nhiều điều phải học với Postgres. Dưới đây là một số hướng dẫn khác bao gồm cách sử dụng Postgres:

<div class = “author”> Bởi Justin Ellingwood </div>


Tags:

Các tin liên quan

Cách cài đặt và sử dụng Zope 2 và PostgreSQL trên Ubuntu 13.10
2014-03-25
Cách mở rộng quy mô theo chiều ngang một ứng dụng Laravel 4 với database PostgreSQL
2014-02-27
Mở rộng quy mô Ruby on Rails: Thiết lập một server PostgreSQL chuyên dụng (Phần 3)
2014-02-27
Cách thiết lập bản sao Master Slave trên PostgreSQL trên VPS Ubuntu 12.04
2013-10-29
Cách cài đặt và sử dụng PostgreSQL trên CentOS 6
2013-10-23
Cách backup database PostgreSQL trên VPS Ubuntu
2013-08-28
Cách bảo mật PostgreSQL trên VPS Ubuntu
2013-08-22
cách sử dụng role và quản lý quyền cấp trong PostgreSQL trên VPS
2013-08-05
cách sử dụng role và quản lý quyền cấp trong PostgreSQL trên VPS
2013-08-05
Cách tạo truy vấn dữ liệu trong PostgreSQL bằng cách sử dụng lệnh chọn
2013-08-02