Postgresql部署及簡單操作

来源:https://www.cnblogs.com/gjc592/archive/2019/08/10/11313878.html
-Advertisement-
Play Games

PostgreSQL是一個功能強大的開源對象關係資料庫管理系統(ORDBMS),在開源資料庫使用上與MySQL各領風騷。但也有不少人質疑postgresql的未來,正所謂,贊揚或批判一種資料庫都必須先瞭解它,然後才可有話語權。為了更多的瞭解postgresql,我們就先部署一套實例作為瞭解它的基礎。 ...


PostgreSQL是一個功能強大的開源對象關係資料庫管理系統(ORDBMS),在開源資料庫使用上與MySQL各領風騷。但也有不少人質疑postgresql的未來,正所謂,贊揚或批判一種資料庫都必須先瞭解它,然後才可有話語權。為了更多的瞭解postgresql,我們就先部署一套實例作為瞭解它的基礎。

 

一 、 環境介紹

操作系統: centos

CPU:  4核

記憶體: 16G

postgresql:  postgresql-11.4

 

二、 編譯安裝

1. 安裝依賴包

 yum install -y perl-ExtUtils-Embed readline-devel zlib-devel pam-devel libxml2-devel libxslt-devel openldap-devel python-devel gcc-c++ openssl-devel cmake

 2. 下載並解壓

wget https://ftp.postgresql.org/pub/source/v11.4/postgresql-11.4.tar.gz
tar -zxvf postgresql-11.4.tar.gz

3. 創建用戶

 # 查看用戶是否存在
id postgres
# 添加用戶組及用戶
groupadd postgres useradd -g postgres postgres # 再次查看可以查看對應的uid gid
id postgres

4. 創建 postgresql數據目錄並授權

選擇對應的磁碟空間較大的盤創建數據目錄

mkdir -p /data/postgresql/data
chown -R postgres:postgres data

5. 編譯postgresql源碼

cd /data/postgresql-11.4

./configure --prefix=/data/postgresql

  PostgreSQL配置腳本選項

6. 開始安裝

make
make install

編譯後結果如下

至此,postgresql安裝完成。

7. 配置環境變數

# 切換到postgres用戶
su - postgres
# 編輯postgres用戶環境變數
vim .bash_profile

# 添加如下內容
export PGHOME=/data/postgresql
export PGDATA=/data/postgresql/data
PATH=$PATH:$HOME/bin:$PGHOME/bin 

# 使環境變數生效
source .bash_profile

 

8. 初始化資料庫

在postgres用戶下運行initdb命令即可初始化資料庫

initdb

 此時,postgresql數據目錄下已經生成對應的文件。

cd /data/postgresql/data
 ll -h 

 

9. 配置文件修改

修改數據目錄下的postgresql.conf  及 pg_hba.conf文件

postgresql.conf   配置PostgreSQL資料庫伺服器的相應的參數。 
pg_hba.conf        配置對資料庫的訪問許可權

初期測試使用時,可以簡單修改部分配置,其他值使用預設值。

1)修改 postgresql.conf

vim postgresql.conf
修改 listen_addresses 為 * ,代表所有主機皆可訪問
listen_addresses = '*' 

記憶體配置等參數後續將介紹其含義及配置建議。

2)修改 pg_hba.conf

添加如下記錄

 

10.  配置服務

如需配置為服務啟動方式,可以按照如下步驟操作

# 進入postgresql源碼目錄
cd /data/postgresql-11.4/contrib/start-scripts
# 此目錄下有各系統的啟動目錄,需先將其添加執行許可權
chmod +x  linux 
# 將啟動服務拷貝至啟動服務下
cp linux  /etc/init.d/postgresql

 

 因啟動服務命令里配置上了預設安裝路徑目錄及數據目錄,如與預設路徑不一致,需手動調整

vim  /etc/init.d/postgresql

修改 prefix及PGDATA

 

11 . 啟動服務

a)  通過服務啟動postgresql

/etc/init.d/postgresql  start

b)  通過服務關閉postgresql

/etc/init.d/postgresql  stop

c)  通過pg_ctl 啟動

 

#  將postgresql安裝路徑bin目錄下的命令賦權給postgres用戶
cd  /data/postgresql/bin
chown -R  postgres:postgres  .
# 切換至postgres用戶啟動服務
 su - postgres
# 啟動服務
pg_ctl -D /data/postgresql/data/ -l logfile  start

至此,便可以通過客戶端連接資料庫進行操作了。

 

三、簡單操作

1. 創建資料庫

createdb gjc

2.  連接資料庫

# 使用psql連接gjc資料庫
psql gjc

3.  創建表、索引、並插入數據

gjc=# create table  test1(id int  not null  primary key,name  varchar(20),age int );
CREATE TABLE
gjc=# create index idx_test1_name on test1(name);
CREATE INDEX
gjc=# insert into test1 values(1,'gjc',28);
INSERT 0 1
gjc=# select * from test1

id | name | age
----+------+-----
1 | gjc | 28
(1 row)

其他的操作,大家可以參考官方文檔或中文社區進行學習實踐,如有問題也可以與我聯繫溝通,共同探索。

 

耿小廚已開通個人微信公眾號,想進一步溝通或想瞭解其他文章的同學可以關註我

 

我的博客即將同步至騰訊雲+社區,邀請大家一同入駐:https://cloud.tencent.com/developer/support-plan?invite_code=33ja5r1x478ks


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

-Advertisement-
Play Games
更多相關文章
  • 最近突然忘記了 滑動視窗的原理,在網上找到了比較好的視頻,現在在這裡同大家分享: 註:反正進程間切換 視頻鏈接: https://www.youtube.com/watch?v=R6ArbkVj-N8 資源來源自網路,如果對您有幫助請點擊推薦,如果有其他的任何問題,歡迎大家留言!cnblogs.co ...
  • 現有的測試工具分為三類: 合成測試程式根據統計的真實負載發生規律,如請求的讀寫比例,大小,頻率和分佈等信息。建立響應的io存取模型。在測試時產生符合存取模型的io請求序列。發送給存儲系統。這類程式包括 IOMeter,IOZone 和 Bonnie++。 使用基準測試集測試電腦系統的性能,一直是有 ...
  • 在不用代碼調從而啟動某個軟體時,windows系統下,通常我們會用到cmd命令行來啟動。本文將介紹 cmd常見的命令行啟動參數。 ...
  • 本篇文章包含了curl的常用案例使用。 如果想瞭解curl選項的詳細說明,請參考前一篇文章「Linux curl 命令詳解」。 常見網頁訪問示例 基本用法 訪問一個網頁 執行後,相關的網頁信息會列印出來 進度條展示 有時候我們不需要進度表展示,而需要進度條展示。比如:下載文件時。 可以通過 -#, ...
  • Matomo(Piwik)安裝說明 安裝前環境檢查 開始安裝PHP7.2(yum安裝,如果已安裝則忽略此步驟) Tips:安裝前請檢查Linux是否內置了PHP5.4及以下版本,否則安裝會出錯 linux的yum源不存在php7.x,所以要更改yum源 # rpm -Uvh https://dl.f ...
  • 1.搭建zookeeper docker pull wurstmeister/zookeeperdocker run -d --name zookeeper -p 2181:2181 --volume /etc/localtime:/etc/localtime -t wurstmeister/zoo ...
  • 一、查看磁碟分區使用狀況 df [選項] 其中,-l是預設選項 -a 會顯示出包括0位元組分區在內的所有文件系統分區 -t 後須跟一個參數,這個參數為文件系統的名字,用來在系統中查找屬於該文件系統的分區 -x 後也須文件系統名作為參數,需要註意的是,若和其他參數混合使用,x需要出現在最後,例如 二、統 ...
  • --方法1.PLSQL代碼塊 SQL> set serveroutput onSQL> declare 2 v_sal emp_pl.sal%type; 3 begin 4 v_sal :=get_sal(7902); 5 dbms_output.put_line('7902的工資是'||v_sal ...
一周排行
    -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.數據驗證 在伺服器端進行嚴格的數據驗證,確保接收到的數據符合預期格 ...