运维文档
Centos7运维命令
Centos7使用阿里云yum源
Centos7 Yum相关软件在线安装
Windows运维
工具类运维
禅道系统运维
git使用培训
Mysql运维
MySQL 索引
Mysql模拟故障恢复案例过程
使用mysqldump对数据库定时备份脚本
常用Sql
Git常用操作命令
搭建ZSK服务
SVN常用操作命令及维护
Ubuntu相关运维
gitlab安装升级操作
常用统计SQL-治未病
服务人数-活动档案统计
Oracle数据库管理
Windows安装VC2015\VC2017
Idea离线开发的Maven设置
慢病治未病部署步骤
Centos7升级openssh+openssl
Centos7 ISO文件做本地yum源
使用mkcert生成自签名证书
OpenEuler
openEuler运维命令
OpenEuler22.03源码编译安装Nginx
OpenEuler安装docker
Docker
Centos7在线搭建docker的elasticsearch环境(单节点)
Docker搭建Hadoop环境
Docker搭建Hadoop环境(新)
Docker维护命令
Docker启动minIO
常用工具或软件的Docker启动命令
Word中查找和替换通配符用法介绍(完全版)
PostgreSql安装与配置
安装Debian10系统
量表扩展信息字段说明
Debian在线安装软件以及修改源
windows本地连接openclaw的UI界面
本文档使用 MrDoc 发布
-
+
首页
PostgreSql安装与配置
## 说明 PostgreSql官网:https://www.postgresql.org/download/ CSDN博文:https://blog.csdn.net/qq_19283249/article/details/139048277 以下以PostgreSql 18为例。 安装命令使用`sudo yum install -y postgresql-server`,PostgreSql将根据操作系统推荐版本进行安装,推荐版本如下: | Distribution | Version | - | - RHEL / AlmaLinux 10 | 16 RHEL / Rocky Linux / AlmaLinux 9 | 16, 15 and 13 (via modules) RHEL / Rocky Linux / AlmaLinux / OL 8 | 15, 13, 12, 10 and 9.6 via modules Fedora 42 | 16 Fedora 41 | 16 ## 安装 ### 1. 在线安装 #### 1.1 选择操作系统 官网没有Centos8的命令,如果安装Centos7的会报错,可以选择Rocky8的命令安装,亲测可用。 **Centos7** ``` # Install the repository RPM: sudo yum install -y https://download.postgresql.org/pub/repos/yum/reporpms/EL-7-x86_64/pgdg-redhat-repo-latest.noarch.rpm # Install PostgreSQL: sudo yum install -y postgresql18-server # Optionally initialize the database and enable automatic start: sudo /usr/pgsql-18/bin/postgresql-18-setup initdb sudo systemctl enable postgresql-18 sudo systemctl start postgresql-18 ``` **Centos8/Rocky8** ``` # Install the repository RPM: sudo dnf install -y https://download.postgresql.org/pub/repos/yum/reporpms/EL-8-x86_64/pgdg-redhat-repo-latest.noarch.rpm # Disable the built-in PostgreSQL module: sudo dnf -qy module disable postgresql # Install PostgreSQL: sudo dnf install -y postgresql18-server # Optionally initialize the database and enable automatic start: sudo /usr/pgsql-18/bin/postgresql-18-setup initdb sudo systemctl enable postgresql-18 sudo systemctl start postgresql-18 ``` 说明:初始化时可以指定数据的目录,避免系统盘空间小,数据放在挂载磁盘上的问题。 ### 2. 离线安装 待补充 ## 配置 ### 1. 修改端口号 PostgreSql默认只监听127.0.0.1,如果需要远程访问数据库,需要修改数据库绑定。 1. 查找postgresql.conf文件位置 ``` find / -name 'postgresql.conf' ``` 2. 修改文件中ip绑定配置 ``` # listen_addresses = 'localhost' listen_addresses = '*' ``` ### 2. 账号及密码 PostgreSQL 安装成功后,会默认创建一个名为 `postgres` 的 Linux 系统用户;在初始化数据库操作后,会有名为 `postgres` 的数据库,来存储数据库基本信息【eg:用户信息等】,数据库中会初始化一个超级用户,名曰 `postgres` , 为了方便管理,进行密码修改。 #### 修改密码 1. 切换到postgres用户 ``` su - postgres ``` 2. 进入/启动psql界面 ``` psql ``` 3. 可以查看其他项目信息 ``` \l #查看账号信息 ``` 4. 执行SQL修改密码 ``` ALTER USER postgres WITH PASSWORD 'temp@Citai2021'; ``` 5. 创建用户、数据库、授权 ``` CREATE ROLE "zwb" CREATEDB LOGIN PASSWORD 'temp@Citai2021'; // 创建角色 --登录账号 CREATE DATABASE "zwb" WITH OWNER = "zwb" TEMPLATE = "template1" ENCODING = 'UTF8'; CREATE DATABASE "esb" WITH OWNER = "zwb" TEMPLATE = "template1" ENCODING = 'UTF8'; CREATE DATABASE "esb-3rd" WITH OWNER = "zwb" TEMPLATE = "template1" ENCODING = 'UTF8'; ``` 删除数据库 ``` SELECT pg_terminate_backend(pg_stat_activity.pid) FROM pg_stat_activity WHERE datname='esb' AND pid<>pg_backend_pid(); DROP DATABASE esb; ``` 6. 退出psql ``` \q ``` ## 数据库结构说明 PostgreSql数据库的结构说明 待补充 ## 数据迁移 如果需要将其他数据库的数据迁移到PostgreSql下,可以使用pgloader工具。 ### pgloader工具的安装 1. 在线安装 Centos7为例: ``` sudo yum -y install yum-utils rpmdevtools @"Development Tools" sqlite-devel zlib-devel #安装依赖 # Enable epel for sbcl sudo yum -y install epel-release sudo yum -y install sbcl # Missing dependency sudo yum install freetds freetds-devel -y sudo ln -s /usr/lib64/libsybdb.so.5 /usr/lib64/libsybdb.so # prepare the rpmbuild setup rpmdev-setuptree # 或者直接执行此命令,会自动安装相关依赖 sudo yum -y install pgloader ``` 2. 源码安装 待补充 3. docker安装 待补充 ### Mysql迁移到PostgreSql Mysql迁移到PostgreSql,可以通过pgloader工具,执行load文件来进行迁移。 1. 先编写load文件 ``` touch zwb.load ``` 然后写入一下内容 ``` LOAD DATABASE FROM mysql://root:password@localhost:3306/esb2 INTO pgsql://postgres:password@localhost:5432/zwb WITH include drop, create tables, create indexes, workers = 8, concurrency = 1 CAST type datetime to timestamp drop default drop not null using zero-dates-to-null ALTER SCHEMA 'zwb' RENAME TO 'public' ; ``` 2. 执行load文件 ``` pgload zwb.load ``` 输入日志: 2025-10-16T10:37:26.011001+01:00 LOG pgloader version "3.6.7~devel" 2025-10-16T10:37:26.105001+01:00 LOG Migrating from #<MYSQL-CONNECTION mysql://root@localhost:3306/esb2 {100684AF23}> 2025-10-16T10:37:26.105001+01:00 LOG Migrating into #<PGSQL-CONNECTION pgsql://postgres@localhost:5432/zwb {100684B103}> 2025-10-16T10:37:28.339999+01:00 LOG report summary reset table name errors rows bytes total time ----------------------------- --------- --------- --------- -------------- fetch meta data 0 78 0.558s Create Schemas 0 0 0.001s Create SQL Types 0 0 0.004s Create tables 0 66 0.070s Set Table OIDs 0 33 0.006s ----------------------------- --------- --------- --------- -------------- esb2.sys_menu 0 85 8.3 kB 0.147s esb2.sys_role_menu 0 85 0.5 kB 0.097s esb2.sys_dict_data 0 29 2.3 kB 0.149s esb2.sys_dept 0 10 0.9 kB 0.126s esb2.sys_config 0 6 0.9 kB 0.078s esb2.sys_job 0 3 0.3 kB 0.308s esb2.sys_user 0 2 0.4 kB 0.371s esb2.gen_table_column 0 0 0.481s esb2.qrtz_fired_triggers 0 0 0.564s esb2.qrtz_scheduler_state 0 0 0.636s esb2.sys_notice 0 2 0.3 kB 0.172s esb2.sys_job_log 0 0 0.656s esb2.sys_user_role 0 2 0.0 kB 0.278s esb2.th3rd_pacs_report 0 0 0.622s esb2.qrtz_calendars 0 0 0.263s esb2.qrtz_locks 0 0 0.438s esb2.qrtz_simprop_triggers 0 0 0.406s esb2.sys_dict_type 0 10 0.8 kB 0.015s esb2.sys_role_dept 0 3 0.0 kB 0.186s esb2.th3rd_lis_detail 0 0 0.552s esb2.sys_user_post 0 2 0.0 kB 0.306s esb2.sys_oper_log 0 14 15.5 kB 0.020s esb2.qrtz_blob_triggers 0 0 0.391s esb2.qrtz_job_details 0 0 0.448s esb2.qrtz_simple_triggers 0 0 0.533s esb2.sys_post 0 4 0.2 kB 0.223s esb2.sys_logininfor 0 0 0.523s esb2.sys_role 0 2 0.2 kB 0.154s esb2.gen_table 0 0 0.251s esb2.qrtz_cron_triggers 0 0 0.419s esb2.qrtz_paused_trigger_grps 0 0 0.343s esb2.qrtz_triggers 0 0 0.464s esb2.th3rd_lis_report 0 0 0.515s ----------------------------- --------- --------- --------- -------------- COPY Threads Completion 0 8 0.687s Create Indexes 0 40 0.361s Index Build Completion 0 40 0.426s Reset Sequences 0 18 0.043s Primary Keys 0 33 0.020s Create Foreign Keys 0 5 0.006s Create Triggers 0 0 0.001s Set Search Path 0 1 0.001s Install Comments 0 456 0.138s ----------------------------- --------- --------- --------- -------------- Total import time ✓ 259 30.7 kB 1.683s 未报错,则表示转换成功。 ### 迁移后对权限的调整 数据库迁移后,新的数据库需要按照PostgreSql的权限模型重新设置权限,以免能够正常访问库表。 待补充。 ## 错误处理 1. postgresql 致命错误:没有用于主机‘’,用户‘postgres’,数据库‘postgres’,no encryption的pg_hba.conf记录 修改pg_hba.conf文件,在文件末尾追加 ``` host all all 0.0.0.0/0 md5 ``` 2.
张文海
2025年10月16日 18:52
转发文档
收藏文档
上一篇
下一篇
手机扫码
复制链接
手机扫一扫转发分享
复制链接
Markdown文件
分享
链接
类型
密码
更新密码