Centos 7.3 安裝配置 PostgreSQL 9.x

来源:http://www.cnblogs.com/ipaomi/archive/2017/10/17/7682260.html
-Advertisement-
Play Games

一、安裝 PostgresSQL Centos 7 自帶的 PostgresSQL 是 9.2 版的。因為,yum 已經做了國內源,速度飛快,所以直接就用 yum 安裝了。依次執行以下命令即可,非常簡單。 如果需要安裝最新的版本,那就按官網上的說明來吧,但那個下載速度實在是…… https://ww ...


一、安裝 PostgresSQL

Centos 7 自帶的 PostgresSQL 是 9.2 版的。因為,yum 已經做了國內源,速度飛快,所以直接就用 yum 安裝了。依次執行以下命令即可,非常簡單。

1 sudo yum -y install postgresql-server postgresql
2 sudo service postgresql initdb
3 sudo chkconfig postgresql on
4 sudo systemctl enable postgresql
5 sudo systemctl start postgresql

如果需要安裝最新的版本,那就按官網上的說明來吧,但那個下載速度實在是……

https://www.postgresql.org/download/linux/redhat/

二、控制台 & 基本命令 & 資料庫操作

PostgresSQL 預設已經創建了名為 postgres 的超級用戶。

執行以下命令,登錄控制台

1 sudo -u postgres psql postgres

可以試試以下一些常用的控制台命令

(這一部分的內容,基本是照搬阮兄的博文,我把操作邏輯貫通了一些,另做了少量補充,方便實驗,原文在此

# 查看 SQL 命令的解釋,比如 \h select
\h
 
# 查看 PostgresSQL 命令列表 
\?
 
# 列出所有資料庫
\l
 
# 連接(使用)某個資料庫 
\c [database_name]
 
# 列出當前資料庫的所有表格
\d
 
# 列出某一張表格的結構
\d [table_name]
 
# 列出所有用戶
\du
 
# 打開文本編輯器
\e
 
# 列出當前資料庫和連接的信息
\conninfo
 
# 退出控制台
\q

創建名為 testdb 的資料庫(註意:不要忘了命令末尾的分號!)

1 CREATE DATABASE testdb;

再用執行 \l,確認資料庫已經創建成功了

連接到(使用)testdb 資料庫

1 \c testdb

查看連接信息,確認已經連接到 testdb 上了

1 \conninfo

接下來就是資料庫的基本操作了,其實就是各種 SQL 語句,例如:

 1 # 創建新表(執行後,用 \d 可以看到當前資料庫的表格列表中,出現了 user_tb)
 2 CREATE TABLE user_tb(name VARCHAR(20), signup_date DATE);
 3  
 4 # 插入數據 
 5 INSERT INTO user_tb(name, signup_date) VALUES('張三', '2017-08-03');
 6  
 7 # 選擇記錄 
 8 SELECT * FROM user_tb;
 9  
10 # 更新數據 
11 UPDATE user_tb set name = '李四' WHERE name = '張三';
12  
13 # 刪除記錄 
14 DELETE FROM user_tb WHERE name = '李四';
15  
16 # 添加欄位(使用 \d user_tb 查看 SQL 執行前後,表結構的變化)
17 ALTER TABLE user_tb ADD email VARCHAR(40);
18  
19 # 更新結構 
20 ALTER TABLE user_tb ALTER COLUMN signup_date SET NOT NULL;
21  
22 # 更名欄位 
23 ALTER TABLE user_tb RENAME COLUMN signup_date TO signup;
24  
25 # 刪除欄位 
26 ALTER TABLE user_tb DROP COLUMN email;
27  
28 # 表格更名 
29 ALTER TABLE user_tb RENAME TO user_dt_new;
30  
31 # 刪除表格 
32 DROP TABLE IF EXISTS user_dt_new;

三、創建用戶 & 啟用密碼登錄 & shell 命令

真正我們在產品中不會直接使用預設的 postgres 用戶,而是自己創建一個用戶。

有兩種操作方法:

  1. 進入 PostgresSQL 的控制台操作
  2. 使用 PostgresSQL 提供的 shell 命令

第二部分,使用的是控制台操作,這一部分,我們要試試 shell 命令

創建名為 dbuser 的用戶並設置密碼

1 sudo -u postgres createuser dbuser -P

創建名為 mydb 的資料庫,並設置其所有者為我們新創建的用戶 dbuser

1 sudo -u postgres createdb -O dbuser mydb

這時候,如果我們嘗試用新創建的用戶 dubser 登錄資料庫 mydb

1 psql -U dbuser -d mydb -h localhost

會遇到下麵的錯誤

1 psql: FATAL: Ident authentication failed for user "dbuser"

這是因為 PostgresSQL 預設沒有啟用密碼登錄,所以我們要先修改配置啟用之

打開配置文件

1 sudo vim /var/lib/pgsql/data/pg_hba.conf

找到下麵這兩行

1 host    all    all    127.0.0.1/32    ident
2 host    all    all    ::1/128         ident

將 ident 改為 md5

1 host    all    all    127.0.0.1/32    md5
2 host    all    all    ::1/128         md5

保存配置文件後,PostgresSQL

1 sudo systemctl restart postgresql

接下來,我們就可以用新創建的用戶 dbuser 愉快地登錄資料庫啦

1 psql -U dbuser -d mydb -h localhost

註意 -h localhost 不能省略,否則 PostgresSQL 還會走 ident 的驗證,會出現下麵的錯誤

1 psql: FATAL: Peer authentication failed for user "dbuser"

四、允許遠程訪問(連接)

PostgresSQL 預設是不允許遠程訪問的,如果我們想要在別的機器上訪問資料庫,還需要做一些設置。

打開 postgresql.conf 文件

1 sudo vim /var/lib/pgsql/data/postgresql.conf

加入下麵一行配置,表示允許來自任意 IP 的連接請求

1 listen_addresses = '*'

打開 pg_hba.conf 文件

1 sudo vim /var/lib/pgsql/data/pg_hba.conf

加入下麵一行配置,表示對任意 IP 訪問進行密碼驗證

1 host    all    all    0.0.0.0/0    md5

最後,重啟 PostgreSQL 使配置生效

1 sudo systemctl restart postgresql

現在就可以遠程訪問 PostgreSQL 資料庫啦

【原文鏈接】http://www.ipaomi.com/2017/08/03/centos-7-3-安裝配置-postgresql-9-x/


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

-Advertisement-
Play Games
更多相關文章
  • PLSQL 1.常用的訪問資料庫的相關技術 1) plsql 過程化的sql 2) proc/c++ 在c/c++語言中訪問oracle資料庫的技術 3) ado/odbc vc中訪問資料庫的技術 4) oci oracle底層提供的客戶端的連接介面 5) sql j/jdbc java訪問資料庫的 ...
  • 一、Oracle內部結構 1.表空間 表空間是資料庫的邏輯劃分,一個表空間只屬於一個資料庫,每個表空間由一個或多個數據文件組成,表空間中其他的邏輯結構的數據存儲在這些數據文件中,一般oracle系統安裝後,會自動建立多個表空間, oarcle11g 的主要表空間 //附(10 g 也是一樣的) 1) ...
  • 語法: restore db 資料庫名 from 還原後存放的路徑 (taken at 時間戳) on 還原文件路徑 into 資料庫名 redirect 查看空間 設置容器路徑 設置temp文件路徑 繼續還原 如果是非管理員賬號那麼要重新給用戶授權,否則不能做任何操作 如果windows沒有啟用a ...
  • preface 1.centos operating system. 2.database is oracle 11g. 3.oracle account is scott. step 1.enter into sql windows.follw the below screenshot codes ...
  • 一、Oracle 中的幾個服務 1.OracleDBConsoleorcl 進程:nmesrvc.exe oem控制台服務進程,dba用。Oracle Enterprise Manager(Oracle企業管理器,簡稱OEM)是通過一組Oracle程式,為管理分散式環境提供了管理服務。OEM包括了一 ...
  • --step 1 : 修改資料庫名稱 USE master GO ALTER DATABASE GeovinDuCms SET SINGLE_USER WITH ROLLBACK IMMEDIATE GO EXEC master..sp_renamedb 'GeovinDuCms','DuCms' ... ...
  • 包含要點: 資料庫的迴圈 、 insert select 句式 、 隨機數(rand()函數)、絕對值(abs()函數) ...
  • Oracle是目前最流行的資料庫之一。功能強大,性能卓越。所以學起來比較困難。學習Oracle需要具備一定的基礎。比如學習過一門編程語言,或者學過其他的資料庫等,沒有一些基礎很難下手。 一、Oracle的簡述 1.目前主流資料庫: SQLServer mysql Access Oracle / DB ...
一周排行
    -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.數據驗證 在伺服器端進行嚴格的數據驗證,確保接收到的數據符合預期格 ...