天天看點

Centos7下搭建PostgreSQL關系型資料庫一、PostgreSQL簡介二、Centos7下安裝三、建立資料庫四、基本操作

知識的廣度來自知識的深度,學習如果不成體系那是多可怕的一件事兒,希望我們在未來的學習道路上堅守初心,不要給自己留下遺憾,以自己喜歡的方式生活,做自己喜歡做的事,寵愛自己,做一個獨一無二的自己!
  • 對于文章中出現的任何錯誤請大家批評指出,會及時做出修改!
  • 有任何想要讨論和學習的問題可聯系我:[email protected]

Centos7下搭建PostgreSQL關系型資料庫

  • 一、PostgreSQL簡介
  • 二、Centos7下安裝
  • 三、建立資料庫
  • 四、基本操作

一、PostgreSQL簡介

1、資料庫簡介

PostgreSQL是一個功能強大的開源資料庫系統,具有可靠性、穩定性、資料一緻性等特點,且可以運作在所有主流作業系統上,包括Linux、Unix、Windows等。PostgreSQL是完全的事務安全性資料庫,完整地支援外鍵、聯合、視圖、觸發器和存儲過程,支援了大多數的SQL:2008标準的資料類型,包括整型、數值型、布爾型、位元組型、字元型、日期型、時間間隔型和時間型,它也支援存儲二進制的大對像,包括圖檔、聲音和視訊。對很多進階開發語言有原生的程式設計接口API,如C/C++、Java、等,也包含各種文檔。

2、高度開源

PostgreSQL的源代碼可以自由擷取,它的授權是在非常自由的開源授權下,這種授權允許使用者在各種開源或是閉源項目中使用、修改和釋出PostgreSQL的源代碼。使用者對源代碼的可以按使用者意願進行任何修改、改進。是以,PostgreSQL不僅是一個強大的企業級資料庫系統,也是一個使用者可以開發私用、網絡和商業軟體産品的資料庫開發平台。

二、Centos7下安裝

1、安裝RPM

RPM軟體包管理器,一種用于網際網路下載下傳包的打包及安裝工具,它包含在部分Linux分發版中。

yum install https://download.postgresql.org/pub/repos/yum/reporpms/EL-7-x86_64/pgdg-redhat-repo-latest.noarch.rpm
           

2、安裝用戶端

yum install postgresql11
           

3、安裝伺服器端

yum install postgresql11-server
           

4、安裝依賴包

yum install postgresql11-libs
yum install postgresql11-contrib
yum install postgresql11-devel
           

5、初始化和啟動

/usr/pgsql-11/bin/postgresql-11-setup initdb
systemctl enable postgresql-11
systemctl start postgresql-11
           

6、重置密碼

passwd postgres
           

7、登入服務

su - postgres
psql
           

8、安裝Vim指令

yum -y install vim*
           

9、配置遠端通路

# 修改01
vim /var/lib/pgsql/11/data/postgresql.conf
listen_addresses = 'localhost' 
修改為
listen_addresses = '*'  
# 修改02
vim /var/lib/pgsql/11/data/pg_hba.conf
添加内容
host  all  all  0.0.0.0/0 trust ## 修改後需要重新開機
           

10、開放端口

firewall-cmd --query-port=5432/tcp
firewall-cmd --add-port=5432/tcp
firewall-cmd --add-port=5432/tcp --zone=public --permanent
           

11、重新啟動

systemctl restart postgresql-11
           

三、建立資料庫

1、建立使用者

CREATE USER root01 WITH PASSWORD '123456';
CREATE ROLE;
           

2、建立資料庫

CREATE DATABASE db_01 OWNER root01;
CREATE DATABASE;
           

3、權限授予

GRANT ALL PRIVILEGES ON DATABASE db_01 TO root01;
GRANT
           

4、退出指令

\q:退出SQL編輯
exit:退出腳本
           

四、基本操作

1、建立表結構

-- 使用者表
CREATE TABLE pq_user (
	ID INT NOT NULL,
	user_name VARCHAR (32) NOT NULL,
	user_age int4 NOT NULL,
	create_time TIMESTAMP (6) DEFAULT CURRENT_TIMESTAMP,
	CONSTRAINT "pg_user_pkey" PRIMARY KEY ("id")
);
-- 訂單表
CREATE TABLE pq_order (
	id int not null,
	user_id int not null,
	order_no varchar (32) not null,
	goods varchar (20) not null,
	price money not null,
	count_num int default 1, 
	create_time timestamp (6) default current_timestamp,
	constraint "pq_order_pkey" primary key ("id")
);
           

2、寫入資料

INSERT INTO pq_user ("id", "user_name", "user_age", "create_time") 
VALUES ('1', 'user01', '18', '2020-04-09 19:44:57.16154');
INSERT INTO pq_order ("id", "user_id", "order_no", "goods", "price", "count_num", "create_time") 
VALUES ('1', '1', 'NO20200329652362', '書籍', '$12.20', '3', '2020-04-09 20:01:09.660208');
           

3、正常查詢

-- 基礎查詢
select * from pq_user t1 where t1.id='2' and t1.user_name='user01';
select * from pq_user t1 where t1.id !='2' order by create_time desc;
-- 連接配接查詢
select * from pq_user t1 join pq_order t2 on t1.id=t2.user_id;
select * from pq_user t1 left join pq_order t2 on t1.id=t2.user_id;
           

4、更新和删除

-- 更新資料
UPDATE pq_user SET "create_time"='2020-04-09 19:49:57' WHERE ("id"='2');
-- 删除記錄
DELETE FROM pq_user WHERE "id" = 2;
           

繼續閱讀