RockyLinux9.5部署PostgreSQL的實(shí)現(xiàn)步驟
介紹兩種部署方式,一直接部署在 linux 服務(wù)器上,二先安裝 docker,然后通過(guò) docker 部署
一、直接部署在 Linux 服務(wù)器
1、準(zhǔn)備工作
(1)更新系統(tǒng)軟件包
sudo dnf update -y
(2)關(guān)閉防火墻
# 測(cè)試環(huán)境 systemctl stop firewalld systemctl disable firewalld # 查看防火墻狀態(tài) firewall-cmd --state # 生產(chǎn)環(huán)境建議配置防火墻規(guī)則: # 開(kāi)放 PostgreSQL 端口(默認(rèn) 5432): sudo firewall-cmd --permanent --add-port=5432/tcp sudo firewall-cmd --reload
2、安裝 PostgreSQL
方法 1:通過(guò) RockyLinux 默認(rèn)倉(cāng)庫(kù)安裝
(1)安裝 PostgreSQL 服務(wù)器:
dnf install -y postgresql-server
(2)初始化數(shù)據(jù)庫(kù)
sudo postgresql-setup --initdb
(3)啟動(dòng) PostgreSQL 服務(wù)并設(shè)置開(kāi)機(jī)自啟:
sudo systemctl enable postgresql sudo systemctl start postgresql # 檢查服務(wù)狀態(tài) sudo systemctl status postgresql
方法 2:通過(guò) PostgreSQL 官方倉(cāng)庫(kù)安裝(推薦)
(1)添加 PostgreSQL Yum 倉(cāng)庫(kù),下面兩個(gè)版本任選一個(gè)
sudo dnf install -y https://download.postgresql.org/pub/repos/yum/reporpms/EL-9-x86_64/pgdg-redhat-repo-latest.noarch.rpm
(2)禁用內(nèi)置的 PostgreSQL 模塊
sudo dnf -qy module disable postgresql
(3) 安裝 PostgreSQL,版本 16
sudo dnf install -y postgresql16-server
(4)初始化數(shù)據(jù)庫(kù)
sudo /usr/pgsql-16/bin/postgresql-16-setup initdb
(5)啟動(dòng) PostgreSQL 服務(wù)并設(shè)置開(kāi)機(jī)自啟:
sudo systemctl enable postgresql-16 sudo systemctl start postgresql-16 # 檢查服務(wù)狀態(tài) sudo systemctl status postgresql-16
3、基本配置
(1)設(shè)置 PostgreSQL 用戶密碼
# 進(jìn)入 psql sudo -u postgres psql # 修改密碼 ALTER USER postgres WITH PASSWORD '你的密碼'; # 輸入\q退出
(2)配置遠(yuǎn)程訪問(wèn)(可選)
編輯 /var/lib/pgsql/16/data/postgresql.conf(通過(guò)默認(rèn)倉(cāng)庫(kù)安裝路徑是:/var/lib/pgsql/data/postgresql.conf),取消注釋并修改:
listen_addresses = '*' # 允許所有IP訪問(wèn) port = 5432 # 默認(rèn)端口
編輯 /var/lib/pgsql/16/data/pg_hba.conf(通過(guò)默認(rèn)倉(cāng)庫(kù)安裝路徑是:/var/lib/pgsql/data/pg_hba.conf),添加或修改以下行(根據(jù)需求調(diào)整)
# 允許所有IP通過(guò)密碼訪問(wèn) host all all 0.0.0.0/0 md5
(3)重啟 PostgreSQL 服務(wù)使配置生效
# 通過(guò) RockyLinux 默認(rèn)倉(cāng)庫(kù)安裝 sudo systemctl restart postgresql # 通過(guò) PostgreSQL 官方倉(cāng)庫(kù)安裝,如安裝不同版本,自行調(diào)整 sudo systemctl restart postgresql-16
4、常用管理命令
# 進(jìn)入 psql sudo -u postgres psql # 創(chuàng)建數(shù)據(jù)庫(kù) CREATE DATABASE testdb; # 創(chuàng)建用戶: CREATE USER username WITH PASSWORD 'password'; # 授予權(quán)限: GRANT ALL PRIVILEGES ON DATABASE dbname TO username; # 查看所有數(shù)據(jù)庫(kù) \l # 切換到新數(shù)據(jù)庫(kù) \c testdb # 查看當(dāng)前數(shù)據(jù)庫(kù)名稱 SELECT current_database(); # 退出 \q # 查看服務(wù)狀態(tài): sudo systemctl status postgresql-16 # 停止服務(wù): sudo systemctl stop postgresql-16 # 啟動(dòng)服務(wù): sudo systemctl start postgresql-16 # 重啟服務(wù): sudo systemctl restart postgresql-16 # 查看日志: sudo journalctl -u postgresql-16
5、備份與恢復(fù)
# username 一般是 postgres,根據(jù)情況自行修改 # 備份單個(gè)數(shù)據(jù)庫(kù): pg_dump -U username -d dbname -f backup.sql # 恢復(fù)單個(gè)數(shù)據(jù)庫(kù) psql -U username -d dbname -f backup.sql # 備份所有數(shù)據(jù)庫(kù): pg_dumpall -U username -f alldbs.sql # 恢復(fù)所有數(shù)據(jù)庫(kù) psql -U postgres -f alldbs.sql
6、重置忘記的 postgres 用戶密碼
# 停止 PostgreSQL 服務(wù): sudo systemctl stop postgresql-16 # 進(jìn)入單用戶模式: sudo -u postgres /usr/pgsql-16/bin/postgres --single -D /var/lib/pgsql/16/data # 在提示符下執(zhí)行: ALTER USER postgres WITH PASSWORD '新密碼'; # 然后按 Ctrl+D 退出 # 正常啟動(dòng)服務(wù): sudo systemctl start postgresql-16
二、使用 docker 部署
1、安裝 docker
# 添加阿里云docker-ce倉(cāng)庫(kù)
dnf config-manager --add-repo http://mirrors.aliyun.com/docker-ce/linux/centos/docker-ce.repo
# 列出當(dāng)前系統(tǒng)中所有可安裝的 docker-ce 版本,并按照版本號(hào)從高到低進(jìn)行排序,同時(shí)顯示重復(fù)的版本。
dnf list docker-ce --showduplicates | sort -r
# 安裝最新版本 docker-ce,也可以指定版本安裝(dnf install -y docker-ce-3:28.1.1-1.el9)
dnf install -y docker-ce
# 啟用Docker Cgroup用于限制進(jìn)程的資源使用量,如CPU、內(nèi)存資源
# 創(chuàng)建目錄,存放 docker 的配置文件
mkdir -p /etc/docker
# 創(chuàng)建并寫(xiě)入 /etc/docker/daemon.json 文件,設(shè)置 Docker 使用 systemd 作為 Cgroup 驅(qū)動(dòng)
# registry-mirrors 配置:docker 鏡像加速器的地址列表。
cat > /etc/docker/daemon.json <<EOF
{
"exec-opts": ["native.cgroupdriver=systemd"],
"registry-mirrors": [
"https://docker.m.daocloud.io"
]
}
EOF
# 設(shè)置 docker 開(kāi)機(jī)自啟,并啟動(dòng) docker
systemctl enable docker --now
2、拉取 PostgreSQL 鏡像
docker pull postgres:16
3、運(yùn)行 PostgreSQL 容器
方式一:使用 docker run
docker run -d \ --name postgresql \ -p 5432:5432 \ -e POSTGRES_USER=postgres \ -e POSTGRES_PASSWORD=qwe123 \ -e POSTGRES_DB=postgres \ -v /data/postgresql/data:/var/lib/postgresql/data \ --restart=unless-stopped \ postgres:16
方式二:使用 yaml 啟動(dòng),推薦這種
(1) 根目錄下創(chuàng)建 postgresql.yaml 文件,內(nèi)容如下:
version: '3.8'
services:
postgresql:
image: postgres:16
container_name: postgresql
ports:
- "5432:5432"
environment:
POSTGRES_USER: postgres
POSTGRES_PASSWORD: your_password
POSTGRES_DB: postgres
volumes:
- /data/postgresql/data:/var/lib/postgresql/data
restart: unless-stopped
(2) 啟動(dòng)服務(wù)
docker compose -f postgresql.yaml up -d
4、驗(yàn)證安裝
# 查看容器狀態(tài) docker ps # 查看日志 docker logs postgresql # 進(jìn)入容器,輸入密碼,檢查是否能登錄 docker exec -it postgresql psql -U postgres -W
5、容器內(nèi)重置 PostgreSQL 密碼
# 進(jìn)入容器內(nèi)的PostgreSQL命令行: docker exec -it postgresql psql -U postgres # 執(zhí)行密碼修改命令: ALTER USER postgres WITH PASSWORD '新密碼'; # 輸入\q退出
到此這篇關(guān)于RockyLinux9.5部署PostgreSQL的實(shí)現(xiàn)步驟的文章就介紹到這了,更多相關(guān)RockyLinux部署PostgreSQL內(nèi)容請(qǐng)搜索腳本之家以前的文章或繼續(xù)瀏覽下面的相關(guān)文章希望大家以后多多支持腳本之家!
- docker快速部署postgresql的完整步驟記錄
- Docker 部署 PostgreSQL數(shù)據(jù)庫(kù)的兩種方式
- Docker部署PostgreSQL數(shù)據(jù)庫(kù)及操作方法詳解
- Docker PostgreSQL容器化部署方式
- Docker Compose安裝部署PostgreSQL數(shù)據(jù)庫(kù)的實(shí)現(xiàn)步驟
- 在docker上部署postgreSQL主從的超詳細(xì)步驟
- PostgreSQL部署邏輯復(fù)制過(guò)程詳解
- 一步步教你用docker部署postgreSQL數(shù)據(jù)庫(kù)
- PostgreSQL數(shù)據(jù)庫(kù)遷移部署實(shí)戰(zhàn)教程
- postgresql 12版本搭建及主備部署操作
- postgresql數(shù)據(jù)庫(kù)安裝部署搭建主從節(jié)點(diǎn)的詳細(xì)過(guò)程(業(yè)務(wù)庫(kù))
相關(guān)文章
phpPgAdmin 常見(jiàn)錯(cuò)誤和問(wèn)題的解決辦法
這篇文章主要介紹了phpPgAdmin 常見(jiàn)錯(cuò)誤和問(wèn)題的解決辦法,如安裝錯(cuò)誤、登陸錯(cuò)誤、轉(zhuǎn)儲(chǔ)功能、其它錯(cuò)誤和問(wèn)題等,需要的朋友可以參考下2014-03-03
Postgresql 數(shù)據(jù)庫(kù) varchar()字符占用多少字節(jié)介紹
這篇文章主要介紹了Postgresql 數(shù)據(jù)庫(kù) varchar()字符占用多少字節(jié)介紹,具有很好的參考價(jià)值,希望對(duì)大家有所幫助。一起跟隨小編過(guò)來(lái)看看吧2020-12-12
postgresql 計(jì)算距離的實(shí)例(單位直接生成米)
這篇文章主要介紹了postgresql 計(jì)算距離的實(shí)例(單位直接生成米),具有很好的參考價(jià)值,希望對(duì)大家有所幫助。一起跟隨小編過(guò)來(lái)看看吧2021-01-01

