TT Bigdata TT Bigdata
首页
  • 部署专题

    • 常规安装
    • 一键部署
  • 组件专题

    • 安装指导
    • 开启 Kerberos
    • 魔改分享
  • 版本专题

    • 更新说明
    • BUG临时处理
  • 实验室

    • VIEW插件
    • JIRA速查
  • Ambari-Env

    • 环境准备
    • 开始使用
  • 组件编译

    • 专区—Ambari
    • 专区—Bigtop-官方组件
    • 专区—Bigtop-扩展组件
  • 报错解决

    • 专区—Ambari
    • 专区—Bigtop
  • 其他技巧

    • APT仓库增量更新
    • Maven镜像加速
    • Gradle镜像加速
    • Bower镜像加速
    • 虚拟环境思路
    • R环境安装+一键安装脚本
    • Ivy配置私有镜像仓库
    • Node.js 多版本共存方案
    • Ambari Web本地启动
    • Npm镜像加速
    • PostgreSQL快速安装
    • Temurin JDK 23快速安装
  • 成神之路

    • 专区—Ambari
    • 专区—Ambari-Metrics
    • 专区—Bigtop
  • 集成案例

    • Redis集成教学
    • Dolphin集成教学
    • Doris集成教学
    • 持续整理...
  • 核心代码

    • 各组件代码
    • 通用代码模板
  • 国产化&其他系统

    • Kylin V10系列
    • Rocky系列
    • Ubuntu系列
  • Grafana监控方案

    • Ambari-Metrics插件
    • Infinity插件
  • 支持&共建

    • 蓝图愿景
    • 合作共建
登陆
GitHub (opens new window)

JaneTTR

数据酿造智慧,每一滴都是沉淀!
首页
  • 部署专题

    • 常规安装
    • 一键部署
  • 组件专题

    • 安装指导
    • 开启 Kerberos
    • 魔改分享
  • 版本专题

    • 更新说明
    • BUG临时处理
  • 实验室

    • VIEW插件
    • JIRA速查
  • Ambari-Env

    • 环境准备
    • 开始使用
  • 组件编译

    • 专区—Ambari
    • 专区—Bigtop-官方组件
    • 专区—Bigtop-扩展组件
  • 报错解决

    • 专区—Ambari
    • 专区—Bigtop
  • 其他技巧

    • APT仓库增量更新
    • Maven镜像加速
    • Gradle镜像加速
    • Bower镜像加速
    • 虚拟环境思路
    • R环境安装+一键安装脚本
    • Ivy配置私有镜像仓库
    • Node.js 多版本共存方案
    • Ambari Web本地启动
    • Npm镜像加速
    • PostgreSQL快速安装
    • Temurin JDK 23快速安装
  • 成神之路

    • 专区—Ambari
    • 专区—Ambari-Metrics
    • 专区—Bigtop
  • 集成案例

    • Redis集成教学
    • Dolphin集成教学
    • Doris集成教学
    • 持续整理...
  • 核心代码

    • 各组件代码
    • 通用代码模板
  • 国产化&其他系统

    • Kylin V10系列
    • Rocky系列
    • Ubuntu系列
  • Grafana监控方案

    • Ambari-Metrics插件
    • Infinity插件
  • 支持&共建

    • 蓝图愿景
    • 合作共建
登陆
GitHub (opens new window)
  • Ambari快速部署—3.0.0

  • Ambari快速部署—2.8.0

  • 数据库环境

    • PostgreSQL 快速安装脚本
      • 一、准备环境
      • 二、PostgreSQL 安装步骤
        • 2.1 使用系统软件仓库安装
        • 2.2 初始化数据库
      • 三、服务启动与访问授权
        • 3.1 启动 PostgreSQL 并设置开机自启
        • 3.2 配置监听地址与远程访问
        • 修改监听
        • 设置访问控制(pg_hba.conf)
        • 3.3 重启服务使配置生效
      • 四、设置默认 postgres 密码
      • 五、一键部署脚本(Kylin V10 适配版)
  • JDK环境

  • MAVEN环境

  • GRADLE环境

  • CONDA环境

  • R环境

  • 一键部署
  • 数据库环境
JaneTTR
2025-11-15
目录

PostgreSQL 快速安装脚本适用于-kylin10-x86_64

# 一、准备环境 KylinV10

Kylin V10 默认提供 PostgreSQL 版本,但各厂商镜像差异较大,不同 CPU 架构(龙芯、飞腾、兆芯、海光)均保持一致的 rpm 包命名方式。本指导统一基于 系统自带软件仓库,避免自行添加第三方源导致的不兼容。

默认用户:postgres 默认数据库:postgres 默认密码:postgres_pwd
查看系统架构
uname -a
cat /etc/.ky10arch
1
2

# 二、PostgreSQL 安装步骤

# 2.1 使用系统软件仓库安装

Kylin V10 不推荐外接 PGDG(阿里云)源,因此直接从官方源安装即可。

yum clean all && yum makecache
yum install -y postgresql postgresql-server postgresql-contrib
1
2

安装完成后,将会生成以下关键文件:

文件路径 用途
/usr/bin/postgres PostgreSQL 运行主程序
/usr/bin/psql 客户端工具
/var/lib/pgsql/data 默认数据目录(初始化后生成)

# 2.2 初始化数据库

Kylin V10 使用 postgresql-setup 工具初始化数据目录:

postgresql-setup --initdb --unit postgresql
1

初始化完成后,目录结构如下:

/var/lib/pgsql/data/
 ├── postgresql.conf
 ├── pg_hba.conf
 ├── base/
 └── pg_wal/
1
2
3
4
5

提示

如需自定义数据目录,可在初始化前修改 /etc/sysconfig/pgsql/postgresql 中的 PGDATA。


# 三、服务启动与访问授权

# 3.1 启动 PostgreSQL 并设置开机自启

systemctl enable postgresql
systemctl start postgresql
systemctl status postgresql
1
2
3

# 3.2 配置监听地址与远程访问

# 修改监听

sed -i "s/^#listen_addresses.*/listen_addresses = '*'/" /var/lib/pgsql/data/postgresql.conf
1

# 设置访问控制(pg_hba.conf)

echo "host all all 0.0.0.0/0 md5" >> /var/lib/pgsql/data/pg_hba.conf
1

安全提醒

0.0.0.0/0 仅用于内网环境。生产环境请仅允许运维网段。


# 3.3 重启服务使配置生效

systemctl restart postgresql
1

# 四、设置默认 postgres 密码

sudo -u postgres psql -c "ALTER USER postgres WITH PASSWORD 'postgres_pwd';"
1

提示

CloudBeaver、Ambari、Superset 等系统均可直接使用该账户连接。


# 五、一键部署脚本(Kylin V10 适配版)

你可以使用以下脚本自动完成 PostgreSQL 安装和配置:

#!/usr/bin/env bash
set -euo pipefail

# ===== 固定配置 =====
PG_PASSWORD="postgres_pwd"        # 固定密码
ALLOW_CIDR="0.0.0.0/0"            # 允许远程访问网段
LISTEN_ADDR="*"                   # 监听地址
PG_SERVICE="postgresql"
PG_DATA_DIR="/var/lib/pgsql/data"
# =====================

echo "=== [1/10] 停止旧服务(如存在) ==="
systemctl stop "${PG_SERVICE}" 2>/dev/null || true

echo "=== [2/10] 卸载旧版 PostgreSQL ==="
if command -v dnf >/dev/null 2>&1; then
  PKG=dnf
elif command -v yum >/dev/null 2>&1; then
  PKG=yum
else
  echo "❌ 未发现 dnf/yum,脚本仅适用于 Kylin V10(RPM 系)" >&2
  exit 1
fi
$PKG remove -y postgresql postgresql-server postgresql-contrib postgresql-libs || true

echo "=== [3/10] 清理旧数据目录 ==="
rm -rf "${PG_DATA_DIR}" /var/lib/pgsql /var/run/postgresql /etc/postgresql /etc/systemd/system/${PG_SERVICE}.service || true
mkdir -p "${PG_DATA_DIR}"
chown -R postgres:postgres /var/lib/pgsql || true

echo "=== [4/10] 安装 Kylin 官方 PostgreSQL(系统源) ==="
$PKG install -y postgresql postgresql-server postgresql-contrib

echo "=== [5/10] 初始化数据库 ==="
postgresql-setup --initdb --unit "${PG_SERVICE}"

echo "=== [6/10] 修改配置:监听与认证 ==="
CONF="${PG_DATA_DIR}/postgresql.conf"
HBA="${PG_DATA_DIR}/pg_hba.conf"

# 修改监听地址
if grep -q "^[#]*listen_addresses" "$CONF"; then
  sed -i "s/^[#]*listen_addresses.*/listen_addresses = '${LISTEN_ADDR}'/" "$CONF"
else
  echo "listen_addresses = '${LISTEN_ADDR}'" >>"$CONF"
fi

# 修改认证方式为 md5(保证用户名密码能登录)
cp -a "$HBA" "${HBA}.bak.$(date +%F-%H%M)"
sed -ri "s/^(local[[:space:]]+all[[:space:]]+all[[:space:]]+).*/\1md5/" "$HBA"
sed -ri "s/^(host[[:space:]]+all[[:space:]]+all[[:space:]]+127\.0\.0\.1\/32[[:space:]]+).*/\1md5/" "$HBA"
sed -ri "s/^(host[[:space:]]+all[[:space:]]+all[[:space:]]+::1\/128[[:space:]]+).*/\1md5/" "$HBA"
grep -q "host all all ${ALLOW_CIDR} md5" "$HBA" || echo "host all all ${ALLOW_CIDR} md5" >>"$HBA"

command -v restorecon >/dev/null 2>&1 && restorecon -R /var/lib/pgsql || true

echo "=== [7/10] 启动服务并设置开机自启 ==="
systemctl enable "${PG_SERVICE}"
systemctl start "${PG_SERVICE}"

echo "=== [8/10] 临时放开本地认证以重置密码 ==="
if ! grep -q "local   all             postgres                                trust" "$HBA"; then
  echo "local   all             postgres                                trust" | sed -i '1i\'"$(
    echo 'local   all             postgres                                trust'
  )" "$HBA"
fi
systemctl reload "${PG_SERVICE}"

echo "=== [9/10] 设置 postgres 密码 ==="
sudo -iu postgres psql -tAc "ALTER USER postgres WITH PASSWORD '${PG_PASSWORD}';" >/dev/null 2>&1 || true

# 恢复 md5 认证
sudo sed -i '/local   all             postgres                                trust/d' "$HBA"
systemctl reload "${PG_SERVICE}"

echo "=== [10/10] 开放防火墙端口 5432 ==="
if command -v firewall-cmd >/dev/null 2>&1; then
  firewall-cmd --add-service=postgresql --permanent || firewall-cmd --add-port=5432/tcp --permanent || true
  firewall-cmd --reload || true
fi

echo ""
echo "✅ PostgreSQL 已成功安装并可使用用户名密码连接"
echo "-------------------------------------------"
echo " - 服务名: ${PG_SERVICE}"
echo " - 数据目录: ${PG_DATA_DIR}"
echo " - 监听: ${LISTEN_ADDR}:5432"
echo " - 允许网段: ${ALLOW_CIDR}"
echo " - 用户: postgres"
echo " - 密码: ${PG_PASSWORD}"
echo "-------------------------------------------"
echo ""
echo "▶ 测试命令(本机):"
echo "  psql -U postgres -h 127.0.0.1 -p 5432 -W"
echo "▶ 测试命令(远程):"
echo "  psql -U postgres -h <服务器IP> -p 5432 -W"
echo ""
echo "输入密码:postgres_pwd,即可连接。"

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
#PostgreSQL#CloudBeaver#KylinV10#数据库安装#自托管部署
【Centos7.9】强力卸载脚本
安装JDK1.8

← 【Centos7.9】强力卸载脚本 安装JDK1.8→

最近更新
01
[开启Kerberos]-Trino启动-配置文件处理
11-18
02
Livy 安装 2.2.0+
11-17
03
[关闭 Kerberos]-Hive 注销异常
11-17
更多文章>
Theme by Vdoing | Copyright © 2017-2025 JaneTTR | MIT License
  • 跟随系统
  • 浅色模式
  • 深色模式
  • 阅读模式