Linux系統:Centos7下搭建PostgreSQL關係型資料庫

来源:https://www.cnblogs.com/cicada-smile/archive/2020/04/12/12684661.html
-Advertisement-
Play Games

本文源碼: "GitHub·點這裡" || "GitEE·點這裡" 一、PostgreSQL簡介 1、資料庫簡介 PostgreSQL是一個功能強大的開源資料庫系統,具有可靠性、穩定性、數據一致性等特點,且可以運行在所有主流操作系統上,包括Linux、Unix、Windows等。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

推薦閱讀:環境安裝

序號 文章標題
01 Centos7下安裝Jdk8、Tomcat8、MySQL5.7環境
02 Centos7下搭建Redis單台和Redis集群服務
03 Centos7下搭建Rocketmq4.3中間件,配置監控台
04 Centos7下搭建ZooKeeper3.4中間件,常用命令總結
05 Centos7下搭建ElasticSearch中間件,常用介面演示
06 Centos7下搭建Nginx,FastDFS文件管理中間件
07 Centos7下搭建ClickHouse列式存儲資料庫

您的分享是我們最大的動力!

-Advertisement-
Play Games
更多相關文章
  • redis-sentinel主從複製高可用 主從複製架構 redis主從複製背景問題 Redis主從複製可將主節點數據同步給從節點,從節點此時有兩個作用: 一旦主節點宕機,從節點作為主節點的備份可以隨時頂上來。 擴展主節點的讀能力,分擔主節點讀壓力。 但是問題是: 一旦主節點宕機,從節點上位,那麼需 ...
  • centos下redis安全相關 博文背景: 由於發現眾多同學,在使用雲伺服器時,安裝的redis3.0+版本都關閉了protected-mode,因而都遭遇了挖礦病毒的攻擊,使得伺服器99%的占用率!! 因此我們在使用redis時候,最好更改預設埠,並且使用redis密碼登錄。 (1)redis ...
  • 部署vue+django的路飛學城 部署路飛學城架構圖 有一天,日天給我發來了兩個神秘代碼,聽說是和mjj的結晶 我將這兩個代碼,放到了一個網站上,大家可以自行下載 路飛學城django代碼 https://files.cnblogs.com/files/tiger666/luffy_boy.zip ...
  • ansible 定義變數方式與[多層]變數引用,以及 register 詳解 ...
  • 官網鏈接:https://support.microsoft.com/zh-cn/help/12445/windows-keyboard-shortcuts ...
  • C++介面類,也就是我們平時說的純虛函數。 純虛函數不能定義實類,只能定義指針,被用來作為介面使用。 接下來我們設計三個類:類A,類B,類C 類C是一個純虛函數,我們將類C作為類A和類B溝通的橋梁。 1 #ifndef A_H 2 #define A_H 3 #include "C.h" 4 5 c ...
  • Yum 軟體倉庫的作用是為了進一步簡化 RPM 管理軟體的難度以及自動分析 所需軟體包及其依賴關係的技術。 可以把 Yum 想象成是一個碩大的軟體倉庫,裡面保存有幾乎所 有常用的工具 。 第1步:進入到/etc/yum.repos.d/目錄中(因為該目錄存放著 Yum 軟體倉庫的配置文件)。 第2步 ...
  • 一 故障指南 1.1 常見問題排障 為了跟蹤和發現在Kubernetes集群中運行的容器應用出現的問題,常用如下查錯方法: 查看Kubernetes對象的當前運行時信息,特別是與對象關聯的Event事件。這些事件記錄了相關主題、發生時間、最近發生時間、發生次數及事件原因等,對排查故障非常有價值。此外 ...
一周排行
    -Advertisement-
    Play Games
  • 移動開發(一):使用.NET MAUI開發第一個安卓APP 對於工作多年的C#程式員來說,近來想嘗試開發一款安卓APP,考慮了很久最終選擇使用.NET MAUI這個微軟官方的框架來嘗試體驗開發安卓APP,畢竟是使用Visual Studio開發工具,使用起來也比較的順手,結合微軟官方的教程進行了安卓 ...
  • 前言 QuestPDF 是一個開源 .NET 庫,用於生成 PDF 文檔。使用了C# Fluent API方式可簡化開發、減少錯誤並提高工作效率。利用它可以輕鬆生成 PDF 報告、發票、導出文件等。 項目介紹 QuestPDF 是一個革命性的開源 .NET 庫,它徹底改變了我們生成 PDF 文檔的方 ...
  • 項目地址 項目後端地址: https://github.com/ZyPLJ/ZYTteeHole 項目前端頁面地址: ZyPLJ/TreeHoleVue (github.com) https://github.com/ZyPLJ/TreeHoleVue 目前項目測試訪問地址: http://tree ...
  • 話不多說,直接開乾 一.下載 1.官方鏈接下載: https://www.microsoft.com/zh-cn/sql-server/sql-server-downloads 2.在下載目錄中找到下麵這個小的安裝包 SQL2022-SSEI-Dev.exe,運行開始下載SQL server; 二. ...
  • 前言 隨著物聯網(IoT)技術的迅猛發展,MQTT(消息隊列遙測傳輸)協議憑藉其輕量級和高效性,已成為眾多物聯網應用的首選通信標準。 MQTTnet 作為一個高性能的 .NET 開源庫,為 .NET 平臺上的 MQTT 客戶端與伺服器開發提供了強大的支持。 本文將全面介紹 MQTTnet 的核心功能 ...
  • Serilog支持多種接收器用於日誌存儲,增強器用於添加屬性,LogContext管理動態屬性,支持多種輸出格式包括純文本、JSON及ExpressionTemplate。還提供了自定義格式化選項,適用於不同需求。 ...
  • 目錄簡介獲取 HTML 文檔解析 HTML 文檔測試參考文章 簡介 動態內容網站使用 JavaScript 腳本動態檢索和渲染數據,爬取信息時需要模擬瀏覽器行為,否則獲取到的源碼基本是空的。 本文使用的爬取步驟如下: 使用 Selenium 獲取渲染後的 HTML 文檔 使用 HtmlAgility ...
  • 1.前言 什麼是熱更新 游戲或者軟體更新時,無需重新下載客戶端進行安裝,而是在應用程式啟動的情況下,在內部進行資源或者代碼更新 Unity目前常用熱更新解決方案 HybridCLR,Xlua,ILRuntime等 Unity目前常用資源管理解決方案 AssetBundles,Addressable, ...
  • 本文章主要是在C# ASP.NET Core Web API框架實現向手機發送驗證碼簡訊功能。這裡我選擇是一個互億無線簡訊驗證碼平臺,其實像阿裡雲,騰訊雲上面也可以。 首先我們先去 互億無線 https://www.ihuyi.com/api/sms.html 去註冊一個賬號 註冊完成賬號後,它會送 ...
  • 通過以下方式可以高效,並保證數據同步的可靠性 1.API設計 使用RESTful設計,確保API端點明確,並使用適當的HTTP方法(如POST用於創建,PUT用於更新)。 設計清晰的請求和響應模型,以確保客戶端能夠理解預期格式。 2.數據驗證 在伺服器端進行嚴格的數據驗證,確保接收到的數據符合預期格 ...