Linux系统:Centos7下搭建PostgreSQL关系型数据库
本文源碼:GitHub·點這里 || GitEE·點這里
一、PostgreSQL簡介
1、數據庫簡介
PostgreSQL是一個功能強大的開源數據庫系統(tǒng),具有可靠性、穩(wěn)定性、數據一致性等特點,且可以運行在所有主流操作系統(tǒng)上,包括Linux、Unix、Windows等。PostgreSQL是完全的事務安全性數據庫,完整地支持外鍵、聯(lián)合、視圖、觸發(fā)器和存儲過程,支持了大多數的SQL:2008標準的數據類型,包括整型、數值型、布爾型、字節(jié)型、字符型、日期型、時間間隔型和時間型,它也支持存儲二進制的大對像,包括圖片、聲音和視頻。對很多高級開發(fā)語言有原生的編程接口API,如C/C++、Java、等,也包含各種文檔。
2、高度開源
PostgreSQL的源代碼可以自由獲取,它的授權是在非常自由的開源授權下,這種授權允許用戶在各種開源或是閉源項目中使用、修改和發(fā)布PostgreSQL的源代碼。用戶對源代碼的可以按用戶意愿進行任何修改、改進。因此,PostgreSQL不僅是一個強大的企業(yè)級數據庫系統(tǒng),也是一個用戶可以開發(fā)私用、網絡和商業(yè)軟件產品的數據庫開發(fā)平臺。
二、Centos7下安裝
1、安裝RPM
RPM軟件包管理器,一種用于互聯(lián)網下載包的打包及安裝工具,它包含在部分Linux分發(fā)版中。
yum install https://download.postgresql.org/pub/repos/yum/reporpms/EL-7-x86_64/pgdg-redhat-repo-latest.noarch.rpm2、安裝客戶端
yum install postgresql113、安裝服務器端
yum install postgresql11-server4、安裝依賴包
yum install postgresql11-libs yum install postgresql11-contrib yum install postgresql11-devel5、初始化和啟動
/usr/pgsql-11/bin/postgresql-11-setup initdb systemctl enable postgresql-11 systemctl start postgresql-116、重置密碼
passwd postgres7、登錄服務
su - postgres psql8、安裝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/tcpfirewall-cmd --add-port=5432/tcpfirewall-cmd --add-port=5432/tcp --zone=public --permanent11、重新啟動
systemctl restart postgresql-11三、創(chuàng)建數據庫
1、創(chuàng)建用戶
CREATE USER root01 WITH PASSWORD '123456'; CREATE ROLE;2、創(chuàng)建數據庫
CREATE DATABASE db_01 OWNER root01; CREATE DATABASE;3、權限授予
GRANT ALL PRIVILEGES ON DATABASE db_01 TO root01; GRANT4、退出命令
\q:退出SQL編輯 exit:退出腳本四、基本操作
1、創(chuàng)建表結構
-- 用戶表 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、常規(guī)查詢
-- 基礎查詢 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推薦閱讀:環(huán)境安裝
| 01 | Centos7下安裝Jdk8、Tomcat8、MySQL5.7環(huán)境 |
| 02 | Centos7下搭建Redis單臺和Redis集群服務 |
| 03 | Centos7下搭建Rocketmq4.3中間件,配置監(jiān)控臺 |
| 04 | Centos7下搭建ZooKeeper3.4中間件,常用命令總結 |
| 05 | Centos7下搭建ElasticSearch中間件,常用接口演示 |
| 06 | Centos7下搭建Nginx,FastDFS文件管理中間件 |
| 07 | Centos7下搭建ClickHouse列式存儲數據庫 |
總結
以上是生活随笔為你收集整理的Linux系统:Centos7下搭建PostgreSQL关系型数据库的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: 异步实现,查询大量数据时的加载
- 下一篇: 总结PLSQL的快捷键以及使用技巧