Linux系統:Centos7下搭建PostgreSQL關係型資料庫
本文原始碼: GitHub·點這裡 || GitEE·點這裡
一、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;
五、原始碼地址
GitHub·地址
https://github.com/cicadasmile/linux-system-base
GitEE·地址
https://gitee.com/cicadasmile/linux-system-base
推薦閱讀:環境安裝
來自 “ ITPUB部落格 ” ,連結:http://blog.itpub.net/69957347/viewspace-2685679/,如需轉載,請註明出處,否則將追究法律責任。
相關文章
- PostgreSQL關係型資料庫SQL資料庫
- Windows版PostgreSQL資料庫下載及安裝教程(關係型資料庫管理系統)WindowsSQL資料庫
- 關係型資料庫與非關係型資料庫介紹!資料庫
- NoSQL:從關係型資料庫到非關係型資料庫SQL資料庫
- 關係型資料庫資料庫
- 關係型資料庫和非關係型資料庫的區別資料庫
- 目前主流的兩類關係型資料庫系統(轉)資料庫
- 關係型資料庫概要資料庫
- 關係型資料庫原理資料庫
- 關係型資料庫,何以稱為“關係”資料庫
- 關係型資料庫和非關係型資料庫的簡單對比資料庫
- OO資料庫和關係型資料庫資料庫
- 三款開源關係型資料庫對比:MySQL、PostgreSQL、SQLiteXP資料庫MySqlSQLite
- 非關係型資料庫(NOSQL)和關係型資料庫(SQL)區別詳解資料庫SQL
- 關係型資料庫之SQL資料庫SQL
- 關係型資料庫之索引資料庫索引
- 關係型資料庫的理解資料庫
- 關係型資料庫理論資料庫
- 非關係型資料庫:Cassandra資料庫
- redis—非關係型資料庫Redis資料庫
- 資料庫入門之3張表對比關係型與非關係型資料庫資料庫
- 關係型資料庫和非關係型資料庫介紹及優劣勢比較資料庫
- NoSQL資料庫探討 -- 非關係型資料庫SQL資料庫
- SQLALchemy操作MySQL關係型資料庫MySql資料庫
- mysqlclient操作MySQL關係型資料庫MySqlclient資料庫
- FastAPI(44)- 操作關係型資料庫ASTAPI資料庫
- Node MySQL打造關係型資料庫MySql資料庫
- SQL與NoSQL(關係型與非關係型)資料庫的區別SQL資料庫
- 資料庫——關係型資料庫MySQL--簡單使用資料庫MySql
- 平時常見關係型資料庫資料庫
- 聊聊非關係型資料庫MongoDB索引資料庫MongoDB索引
- 反DDD模式之關係型資料庫模式資料庫
- 列舉常見的關係型資料庫和非關係型都有那些?資料庫
- 關係型資料庫:使用正規化建立資料庫(轉)資料庫
- 關係型和非關係型資料庫一定要對立?達夢資料提供新思路資料庫
- Linux系統下資料庫有哪些?Linux資料庫
- LINUX系統程式設計 SWAP原理以及和資料庫(MYSQL ORACLE)關係Linux程式設計資料庫MySqlOracle
- 扒出多年前的關係型資料庫統計巔峰之作資料庫