Giới thiệu
PostgreSQL là Hệ thống quản lý cơ sở dữ liệu quan hệ mã nguồn mở (RDBMS) tiên tiến nhất thế giới. Nó tuân thủ các tiêu chuẩn ANSI SQL: 2008 và có hầu hết các loại dữ liệu được xác định trong thông số kỹ thuật của nó, bao gồm INTEGER, NUMERIC, BOOLESE, CHAR, VARCHAR, DATE, INTERVAL và TIMESTAMP.
Nó đã được phát triển tích cực trong hơn 15 năm và gần đây đã đạt được nhiều tiếng vang hơn do việc bổ sung các kiểu dữ liệu gốc JSON và JSONB, khiến nó được xem là một giải pháp khả thi cho các vấn đề mà cơ sở dữ liệu NoQuery thường được sử dụng để giải quyết.
Cài đặt
Cập nhật kho yum:
sudo yum install update
Nhận gói PostgreSQL mới nhất cho CentOS 7:
- Truy cập kho lưu trữ chính thức và tìm phiên bản ổn định mới nhất của PostgreSQL cho CentOS 7 (Khi viết, phiên bản mới nhất là 9.3).
- Nhấp chuột phải vào liên kết tải xuống và sao chép địa chỉ của nó.
- Tải xuống trên VPS của bạn bằng cách chạy:
curl -O http://yum.postgresql.org/9.3/redhat/rhel-7-x86_64/pgdg-centos93-9.3-1.noarch.rpm
(Thay thế URL bằng gói repo tương ứng).
Cài đặt gói PostgreSQL đã tải xuống:
sudo rpm -ivh pgdg-centos93-9.3-1.noarch.rpm
Cài đặt PostgreSQL:
sudo yum -y install postgresql93-server postgresql93-contrib
Khởi tạo cơ sở dữ liệu:
sudo service postgresql-9.3 initdb
Nếu lệnh trước không thành công, hãy gọi trực tiếp cài đặt nhị phân:
sudo /usr/pgsql-9.3/bin/postgresql93-setup initdb
Ban hành lệnh dưới đây để chỉnh sửa /etc/sysconfig/pgsql/postgresql-9.3
tập tin. Nếu tập tin không tồn tại, nó sẽ trống, điều đó là tốt.
nano /etc/sysconfig/pgsql/postgresql-9.3
Thêm hoặc sửa đổi các tùy chọn PGPORT và PGDATA để chúng khớp với mẫu bên dưới. Nhấn CTRL + X , sau đó Y sau khi chỉnh sửa.
PGPORT=5438
PGDATA=/pgdata93
Khởi động cơ sở dữ liệu và cấu hình nó để chạy khi máy chủ khởi động:
sudo service postgresql-9.3 start
sudo chkconfig postgresql-9.3 on
Truy cập cơ sở dữ liệu
PostgreSQL tạo một người dùng mặc định trên hệ thống có tên postgres
không có mật khẩu. Chuyển sang postgres
người dùng và truy cập lời nhắc PostgreSQL.
su postgres
psql
Khi ở dấu nhắc PosgreSQL, bạn có thể nhập help
để xem danh sách các lệnh giúp truy cập cơ sở dữ liệu. Lưu ý rằng bạn có thể cần phải nhập q
hoặc :
theo sau q
để thoát khỏi màn hình trợ giúp.
Ví dụ sử dụng
Liệt kê tất cả các cơ sở dữ liệu trên hệ thống và kết nối với cơ sở dữ liệu mặc định postgres
:
postgres=# \list
postgres=# \c postgres
You are now connected to database "postgres" as user "postgres".
Liệt kê các bảng có trong cơ sở dữ liệu Postgres (không nên có):
postgres=# \d
No relations found.
Tạo một bảng đơn giản và kiểm tra để đảm bảo rằng nó được tạo đúng:
postgres=# create table tweets (name varchar(25), twitterHandle varchar(25), message varchar(250));
CREATE TABLE
postgres=# \d
List of relations
Schema | Name | Type | Owner
--------+--------+-------+----------
public | tweets | table | postgres
(1 row)
Chèn một số bản ghi vào bảng:
postgres=# INSERT INTO tweets VALUES ('Lami','mrLami','Best cloud hosting on the planet, Vultr');
INSERT 0 1
postgres=# INSERT INTO tweets VALUES ('Vultr Hosting','@TheVultr','50% off coupon for new instances');
INSERT 0 1
Bảng truy vấn để xem kết quả:
postgres=# select * from tweets;
name | twitterhandle | message
--------------+---------------+--------------------------------------------------
Lami | mrLami | Best cloud hosting on the planet, Vultr
Vultr Hosting | @TheVultr | 50% off coupon for new instances
(2 rows)
Thoát khỏi dấu nhắc PosgreSQL:
postgres=# \q
Kiểm soát dịch vụ PostgreSQL:
sudo service postgresql-9.3 start
sudo service postgresql-9.3 stop
sudo service postgresql-9.3 restart
Phần kết luận
PosgreSQL là một cơ sở dữ liệu rất tiên tiến có thể làm được nhiều thứ hơn là những gì được nêu trong bài viết này. Truy cập tài liệu PostgreQuery để đọc thêm về các tính năng cụ thể hơn như: Kiểm soát đồng thời nhiều phiên bản (MVCC), khôi phục thời gian, không gian bảng, sao chép không đồng bộ, giao dịch lồng nhau (lưu điểm), sao lưu trực tuyến / trình tối ưu hóa, trình lập kế hoạch truy vấn / trình tối ưu hóa viết trước đăng nhập cho khả năng chịu lỗi.
Các phiên bản khác
Ubuntu
CentOS 7
Viết bởi Lami Adabonyan