Linux系統:Centos7下搭建PostgreSQL關係型數據庫

本文源碼:GitHub·點這裏 || GitEE·點這裏linux

1、PostgreSQL簡介

一、數據庫簡介git

PostgreSQL是一個功能強大的開源數據庫系統,具備可靠性、穩定性、數據一致性等特色,且能夠運行在全部主流操做系統上,包括Linux、Unix、Windows等。PostgreSQL是徹底的事務安全性數據庫,完整地支持外鍵、聯合、視圖、觸發器和存儲過程,支持了大多數的SQL:2008標準的數據類型,包括整型、數值型、布爾型、字節型、字符型、日期型、時間間隔型和時間型,它也支持存儲二進制的大對像,包括圖片、聲音和視頻。對不少高級開發語言有原生的編程接口API,如C/C++、Java、等,也包含各類文檔。github

二、高度開源sql

PostgreSQL的源代碼能夠自由獲取,它的受權是在很是自由的開源受權下,這種受權容許用戶在各類開源或是閉源項目中使用、修改和發佈PostgreSQL的源代碼。用戶對源代碼的能夠按用戶意願進行任何修改、改進。所以,PostgreSQL不只是一個強大的企業級數據庫系統,也是一個用戶能夠開發私用、網絡和商業軟件產品的數據庫開發平臺。數據庫

2、Centos7下安裝

一、安裝RPM編程

RPM軟件包管理器,一種用於互聯網下載包的打包及安裝工具,它包含在部分Linux分發版中。vim

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

二、安裝客戶端安全

yum install postgresql11

三、安裝服務器端服務器

yum install postgresql11-server

四、安裝依賴包網絡

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

五、初始化和啓動

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

六、重置密碼

passwd postgres

七、登陸服務

su - postgres
psql

八、安裝Vim命令

yum -y install vim*

九、配置遠程訪問

# 修改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 ## 修改後須要重啓

十、開放端口

firewall-cmd --query-port=5432/tcp

firewall-cmd --add-port=5432/tcp

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

十一、從新啓動

systemctl restart postgresql-11

3、建立數據庫

一、建立用戶

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

二、建立數據庫

CREATE DATABASE db_01 OWNER root01;
CREATE DATABASE;

三、權限授予

GRANT ALL PRIVILEGES ON DATABASE db_01 TO root01;
GRANT

四、退出命令

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

4、基本操做

一、建立表結構

-- 用戶表
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")
);

二、寫入數據

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');

三、常規查詢

-- 基礎查詢
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;

四、更新和刪除

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

5、源代碼地址

GitHub·地址
https://github.com/cicadasmile/linux-system-base
GitEE·地址
https://gitee.com/cicadasmile/linux-system-base

Linux系統:Centos7下搭建PostgreSQL關係型數據庫

推薦閱讀:環境安裝

序號 文章標題
01 Centos7下安裝Jdk八、Tomcat八、MySQL5.7環境
02 Centos7下搭建Redis單臺和Redis集羣服務
03 Centos7下搭建Rocketmq4.3中間件,配置監控臺
04 Centos7下搭建ZooKeeper3.4中間件,經常使用命令總結
05 Centos7下搭建ElasticSearch中間件,經常使用接口演示
06 Centos7下搭建Nginx,FastDFS文件管理中間件
07 Centos7下搭建ClickHouse列式存儲數據庫
相關文章
相關標籤/搜索