PostgreSQL_安裝部署

一、Windows系統下安裝

1.下載安裝包

登錄PostgreSQL: Downloads官網:

選擇14.12版本,點擊下載:

2.安裝PostgrSQL14.12

雙擊exe安裝包程序,準備安裝:

選擇安裝路徑:

選擇想安裝的工具:

選擇數據存儲路徑:

設置超管密鑰:

設置端口,一般是5432:

Locale建議使用C的本地化規則:

確認配置信息:

開始執行安裝:

3.調整PostgreSQL配置
3.1pg_hba.conf 客戶端身份驗證規則配置

在pg_hba.conf文件中添加以下配置:

# postgres for localhost:
local   all             postgres                                scram-sha-256
host    all             postgres        127.0.0.1/32            scram-sha-256
host    all             postgres        0.0.0.0/0               reject
# remote connections:
host    all             all             0.0.0.0/0               scram-sha-256
3.2postgresql.conf 服務參數配置

在postgresql.conf中主要調整以下配置:

listen_addresses = '*' # 監聽地址
port = 5432 # 端?號
max_connections = 1000 # 最?連接數
superuser_reserved_connections = 10 # 預留給超管?戶的連接數
password_encryption = scram-sha-256 # 密碼加密?式
shared_buffers = 1024MB # 允許使?的內存,通常設置為物理內存的25%
timezone = 'Asia/Shanghai' # 時區,根據實際項?地理位置修改
log_timezone = 'Asia/Shanghai' # ?志時區,根據實際項?地理位置修改
4.重啟PostgreSQL服務

二、Linux系統下安裝(以CentOS7為例)

1.安裝依賴環境
yum install -y perl-devel  perl-ExtUtils-Embed systemd-devel readline-devel uuid-devel zlib-devel clang-devel llvm-devel perlExtUtils-Embed tcl-devel libicu-devel libxml2-devel libxslt-devel python-devel python3-devel gcc gcc-c++ llvm3.9-devel openssl-devel lz4-devel pam-devel openldap-devel cmake bison flex  
2.規劃存儲路徑
mkdir /opt/pgsql/source -p # pgsql源碼包存放路徑
mkdir /opt/pgsql/extensions -p # pgsql插件存放路徑
mkdir -p /mnt/data/pgsql/pgsql5432 # pgsql數據?錄
mkdir -p /mnt/data/pgsql/backup/{backup-db,backup-tmp} # pgsql備份?錄
3.PG環境配置
3.1創建用戶和用戶組、主目錄
useradd -d /home/postgres -s /bin/bash -U -m postgres
3.2配置用戶環境變量
cat >> /home/postgres/.bash_profile << EOF
# PostgreSQL
export PGHOME=/usr/local/pgsql
export PATH=$PGHOME/bin:$PATH
export LD_LIBRARY_PATH=$PGHOME/lib:$LD_LIBRARY_PATH
export PGDATA=/mnt/data/pgsql/pgsql5432
export PGHOST=/tmp
export PGPORT=5432
EOF
3.3授權相關目錄
chmod 700 /mnt/data/pgsql/pgsql5432
chmod -R 700 /mnt/data/pgsql/backup
chown postgres:postgres -R /opt/pgsql  /mnt/data/pgsql
4.下載二進制安裝包
wget -P /opt/pgsql/source https://ftp.postgresql.org/pub/source/v14.8/postgresql-14.8.tar.gz --no-check-certificate
5.包完整性校驗
md5sum postgresql-14.8.tar.gz 
# MD5校驗值:05a8078ee17d4f00779138767b802065
sha256sum postgresql-14.8.tar.gz 
# SHA256校驗值:a3c32ff8168832d9637eb870f6e98f98506797fe5942555d70cd77558949a844

操作如下圖所示:

6.解壓與編譯安裝
tar xf postgresql-14.8.tar.gz   #解壓
cd postgresql-14.8              #進到主目錄下
#下面進行編譯與安裝
./configure --with-systemd --with-uuid=ossp --with-perl --with-python --with-tcl --with-icu --with-openssl --with-libxml --with-libxslt --with-lz4 --prefix=/opt/pgsql/pgsql-14.8  make -j 4 world && make -j 4 install-worldln -s /opt/pgsql/pgsql-14.8 /usr/local/pgsql    //創建軟鏈接

7.安裝檢查與驗證
su - postgres     #進到postgres用戶下
cd /opt/pgsql/source/postgresql-14.8/     #進入pg主目錄
make check # 安裝成功后,測試?下編譯的功能是否正常,全部正常會在末尾輸出ALL tests passed

8.初始化數據庫

建議:字符編碼使UTF8,本地化使C,認證式使scram-sha-256

initdb -E UTF8 --locale=C -U postgres -W -A scram-sha-256 --data-checksums

9.初始化配置文件
cd /mnt/data/pgsql/pgsql5432/
mv postgresql.conf postgresql.conf.bak
mv pg_hba.conf pg_hba.conf.bak
touch postgresql.conf  pg_hba.conf

創建兩個同名文件,配置如下:

pg_hba.conf:

# TYPE  DATABASE        USER            ADDRESS                 METHOD
# "local" is for Unix domain socket connections only
local   all             all                                     scram-sha-256
# IPv4 local connections:
host    all             all             127.0.0.1/32            scram-sha-256
# IPv6 local connections:
host    all             all             ::1/128                 scram-sha-256
# replication connections:
local   replication     all                                     scram-sha-256
host    replication     all             127.0.0.1/32            scram-sha-256
host    replication     all             ::1/128                 scram-sha-256
# postgres for localhost:
local   all             postgres                                scram-sha-256
host    all             postgres        127.0.0.1/32            scram-sha-256
host    all             postgres        0.0.0.0/0               reject
# remote connections:
host    all             all             0.0.0.0/0               scram-sha-256

postgresql.conf:

listen_addresses = '*'
port = 5432
max_connections = 1000
superuser_reserved_connections = 10
unix_socket_directories = '/tmp'
tcp_keepalives_idle = 180
tcp_keepalives_interval = 10
tcp_keepalives_count = 3
password_encryption = scram-sha-256
shared_buffers = 1024MB
temp_buffers = 8MB
max_prepared_transactions = 50
work_mem = 4MB
maintenance_work_mem = 64MB
dynamic_shared_memory_type = posix
max_worker_processes = 8
wal_level = logical
fsync = on
synchronous_commit = remote_write
wal_sync_method = fsync
full_page_writes = on
max_wal_size = 5GB
min_wal_size = 80MB
max_wal_senders = 30
max_replication_slots = 10
hot_standby = on    //允許只讀
max_logical_replication_workers = 4
log_destination = 'stderr'     //表示 PostgreSQL 將日志信息輸出到標準錯誤輸出流
logging_collector = on
log_directory = 'pg_log'
log_filename = 'postgresql-%a.log'
log_file_mode = 0600
log_rotation_age = 1d
log_truncate_on_rotation = on
log_checkpoints = on
log_timezone = 'Asia/Shanghai'
autovacuum = on    //自動回收
idle_session_timeout = 1200000
datestyle = 'iso, mdy'
timezone = 'Asia/Shanghai'
lc_messages = 'C'
lc_monetary = 'C'
lc_numeric = 'C'
lc_time = 'C'
default_text_search_config = 'pg_catalog.english'
10.配置systemd服務托管
cat > /usr/lib/systemd/system/pgsql.service << EOF
[Unit]
Description=PostgreSQL database server 14
After=network-online.target
Wants=network-online.target[Install]
WantedBy=multi-user.target[Service]
Type=forking
User=postgres
Group=postgres
Environment=PGPORT=5432
Environment=PGDATA=/mnt/data/pgsql/pgsql5432
ExecStart=/usr/local/pgsql/bin/pg_ctl start -D ${PGDATA} -s -w -t 300
ExecStop=/usr/local/pgsql/bin/pg_ctl stop -D ${PGDATA} -s -m fast
ExecReload=/usr/local/pgsql/bin/pg_ctl reload -D ${PGDATA} -s
TimeoutSec=300
Restart=on-failure
RestartSec=3
OOMScoreAdjust=-1000
LimitNOFILE=65535
LimitNPROC=65535
EOF
11.啟動pgsql.service
systemctl daemon-reload
systemctl enable pgsql
systemctl start pgsql
systemctl status pgsql
12.連接postgresql數據庫測試
su - postgres       #進入postgres用戶下
psql -h 127.0.0.1 -p 5432 postgres       #連接數據庫

這里執行 pqsql 和 psql -h 127.0.0.1 -p 5432 postgres 命令是同樣的效果

如果想修改postgres用戶的密碼,可以使用以下語句進行修改:

postgres=# alter user postgres with password '123';
ALTER ROLE
postgres=# quit

本文來自互聯網用戶投稿,該文觀點僅代表作者本人,不代表本站立場。本站僅提供信息存儲空間服務,不擁有所有權,不承擔相關法律責任。
如若轉載,請注明出處:http://www.pswp.cn/diannao/72938.shtml
繁體地址,請注明出處:http://hk.pswp.cn/diannao/72938.shtml
英文地址,請注明出處:http://en.pswp.cn/diannao/72938.shtml

如若內容造成侵權/違法違規/事實不符,請聯系多彩編程網進行投訴反饋email:809451989@qq.com,一經查實,立即刪除!

相關文章

init arry的作用,可以沒有init arry嘛?(面試題)

https://bbs.kanxue.com/thread-282657.htm 對init_array段調用的方法進行Hook https://bbs.kanxue.com/thread-191092.htm init_array原理簡單說明 https://bbs.kanxue.com/thread-280135.htm frida hook init_array自吐新解 init_array 的作用&#xff0c;以及是否可以沒有 i…

藍橋杯真題0團建dfs+哈希表/鄰接表

dfs鄰接表儲存或者哈希表的運用&#xff0c;考察我們對數據的存儲 本題核心就是在求從根節點開始的兩棵樹相同的最長序列&#xff0c;首先確定用dfs進行深搜&#xff0c;對于節點的形式可以用鄰接表&#xff0c;鄰接矩陣&#xff0c;哈希表來進行存儲數據。下面看代碼 鄰接表 …

使用 AIStor、MLflow 和 KServe 將模型部署到 Kubernetes

在之前幾篇關于 MLOps 工具的文章中&#xff0c;我展示了有多少流行的 MLOps 工具跟蹤與模型訓練實驗相關的指標。我還展示了他們如何使用 MinIO 來存儲作為模型訓練管道一部分的非結構化數據。但是&#xff0c;一個好的 MLOps 工具應該做的不僅僅是管理您的實驗、數據集和模型…

kali linux web掃描工具

Kali Linux是一款專為網絡安全領域而打造的操作系統&#xff0c;提供了眾多優秀的安全工具&#xff0c;其中就包括了強大的web掃描工具。Web掃描是網絡安全檢測的一個重要環節&#xff0c;它可以幫助安全專家檢測網站的漏洞&#xff0c;提升網站的安全性。 Kali Linux中集成了…

Linux losetup循環設備

好的&#xff0c;以下是命令的中文解釋和使用步驟&#xff1a; 命令解釋&#xff1a; losetup -r /dev/loop0 /system/app.bin&#xff1a; losetup 是一個用于將文件與循環設備&#xff08;loop device&#xff09;關聯的命令。-r 選項表示將循環設備設置為只讀模式。/dev/lo…

【js逆向】

地址&#xff1a;aHR0cHM6Ly93d3cud2VpYm90b3AuY24vMi4wLw f12進入 debugger&#xff0c;過debugger 查看預覽數據 全局搜索 請求網址中的 api.weibotop.cn 在下方疑似找到了加密和解密的函數 斷點調試 控制臺輸出 那個n就是 常見的 cryptoJs庫 const cryptoJs require(cry…

1.Intel BIOS 開發指南詳細介紹

1. 引言 目的: Intel BIOS 開發指南旨在為開發者提供詳細的指導,幫助他們理解和實現 Intel 平臺上的 BIOS 功能。 適用對象: 適用于希望開發、調試和優化 BIOS 的硬件工程師、軟件工程師和系統集成商。 版本信息: 確保你使用的是最新版本的指南,以獲取最新的信息和最佳實…

deepseek在pycharm中的配置和簡單應用

對于最常用的調試python腳本開發環境pycharm&#xff0c;如何接入deepseek是我們窺探ai代碼編寫的第一步&#xff0c;熟悉起來總沒壞處。 1、官網安裝pycharm社區版&#xff08;免費&#xff09;&#xff0c;如果需要安裝專業版&#xff0c;需要另外找破解碼。 2、安裝Ollama…

【論文閱讀】多模態——LSeg

文獻基本信息 標題&#xff1a;Language-Driven Semantic Segmentation作者&#xff1a;Boyi Li、Kilian Q. Weinberger、Serge Belongie、Vladlen Koltun、Ren Ranftl單位&#xff1a;Cornell University、University of Copenhagen、Apple、Intel Labs會議/期刊&#xff1a;…

【MySQL基礎-1】MySQL 用戶管理指南:創建用戶、修改密碼與權限分配

MySQL 作為廣泛使用的關系型數據庫管理系統&#xff0c;用戶管理和權限分配是其核心功能之一。合理創建用戶、修改密碼以及分配權限&#xff0c;不僅能保障數據庫的安全性&#xff0c;還能有效控制用戶的操作范圍。本文將詳細介紹如何在 MySQL 中創建用戶、修改用戶密碼以及分配…

影刀RPA編碼版與流程版解析

影刀RPA編碼版是影刀RPA的一個高級版本&#xff0c;它結合了流程版的可視化操作和編碼版的強大靈活性&#xff0c;以下是對影刀RPA編碼版的詳細介紹&#xff1a; 1. 功能對比 流程版&#xff1a; 可視化操作&#xff1a;通過拖拽式流程設計器&#xff0c;用戶可以像搭積木一樣…

20天 - TCP 和 UDP 有什么區別?說說 TCP 的三次握手?TCP 是用來解決什么問題?

TCP 和 UDP 有什么區別&#xff1f; TCP&#xff08;傳輸控制協議&#xff09;和 UDP&#xff08;用戶數據報協議&#xff09;都是傳輸層的網絡協議&#xff0c;它們的主要區別如下&#xff1a; 連接方式 TCP&#xff1a;面向連接的協議&#xff0c;類似于打電話&#xff0c…

【MySQL_05】語法簡述(是語法,不詳細介紹各種語句)

文章目錄 一、基本規則二、標識符規則三、數據類型四、運算符五、關鍵字六、SQL 語句的通用語法結構 歷史文章點擊&#x1f449;&#xff1a;SQL &#x1f408;??github&#xff1a;https://github.com/mysql &#x1f4bb;官網&#xff1a; https://www.mysql.com &#…

JavaScript中的生成器函數詳解

在 JavaScript 中&#xff0c;生成器函數 Generator Function 是一種特殊的函數&#xff0c;它允許你在函數執行過程中暫停和恢復。生成器函數通過 function* 語法定義&#xff0c;并使用 yield 關鍵字來控制函數的執行流程。生成器函數返回一個生成器對象&#xff0c;該對象遵…

計算機網絡——交換機

一、什么是交換機&#xff1f; 交換機&#xff08;Switch&#xff09;是局域網&#xff08;LAN&#xff09;中的核心設備&#xff0c;負責在 數據鏈路層&#xff08;OSI第二層&#xff09;高效轉發數據幀。它像一位“智能交通警察”&#xff0c;根據設備的 MAC地址 精準引導數…

Git合并工具在開發中的使用指南

在團隊協作開發中&#xff0c;Git 是最常用的版本控制工具&#xff0c;而代碼合并&#xff08;Merge&#xff09;是多人協作不可避免的環節。當多個開發者同時修改同一文件的相同區域時&#xff0c;Git 無法自動完成合并&#xff0c;此時需要借助合并工具&#xff08;Merge Too…

實現多語言適配

1.在res下創建多語言資源文件&#xff1a; 2.選擇需要的語言 然后得到多種語言適配string文件&#xff1a; 3.代碼設置多語言 object LanguageHelper {/*** 獲取適配的 Context*/fun getAttachBaseContext(context: Context): Context {return if (Build.VERSION.SDK_INT > …

【學習方法一】

學習方法一 一、通用高效學習法二、學科專項方法三、工具與技術輔助四、習慣與心理策略五、避免常見誤區總結六、進階學習策略七、解決學習痛點八、場景化學習法九、資源與工具推薦十、個性化學習調整十一、長期學習心態十二、常見問題QA十三、應對特殊挑戰的學習法十四、健康與…

Golang學習筆記_44——命令模式

Golang學習筆記_41——觀察者模式 Golang學習筆記_42——迭代器模式 Golang學習筆記_43——責任鏈模式 文章目錄 一、核心概念1. 定義2. 解決的問題3. 核心角色4. 類圖 二、特點分析三、適用場景1. 事務管理系統2. 多媒體遙控器3. 操作審計系統 四、Go語言實現示例五、高級應用…

應急響應--流量分析

&#xff08;一&#xff09;Cobalt Strike流量特征分析 1.HTTP特征 源碼特征&#xff1a; 在流量中&#xff0c;通過http協議的url路徑&#xff0c;在checksum8解密算法計算后&#xff0c;32位的后門得到的結果是92&#xff0c;64位的后門得到的結果是93&#xff0c;該特征符…