Linux 上安装 PostgreSQL
创始人
2024-11-05 00:12:40
0

文章目录

  • 前言
  • 一、安装PostgreSQL
  • 二、修改数据库默认数据存储目录
    • 1.自定义数据存放目录
    • 2.修改自定义服务
    • 3.初始化数据库
    • 4.运行数据库
  • 三、配置数据库信息
    • 四、权限
  • 异常处理


前言

提示:本次博客是centos7.9安装PostgreSQL12版本

名称版本
Centos7.9
postgresql12
postgresql端口5432
postgresql存储路径/pgsql/12/data/

一、安装PostgreSQL

打开 PostgreSQL 官网
https://www.postgresql.org/download/
具体操作如下图所示:

Packages and Installers(软件包和安装程序)
Select your operating system family:(选择您的操作系统系列)
Select your Linux distribution:(选择您的 Linux 发行版)

在这里插入图片描述
选择完以上操作系统系列和操作系统发行版后会自动出现PostgreSQL Yum Repository如下图所示:
在这里插入图片描述

Select version:(选择要安装的数据库版本)
Select platform:(选择要安装的数据库操作系统)
Select architecture:(选择操作系统架构)
Copy, paste and run the relevant parts of the setup script:(复制、粘贴并运行设置脚本的相关部分)详细说明如下

#安装PostgreSQL的yum仓库 sudo yum install -y https://download.postgresql.org/pub/repos/yum/reporpms/EL-7-x86_64/pgdg-redhat-repo-latest.noarch.rpm #安装PostgreSQL 12版本 sudo yum install -y postgresql12-server #初始化数据库(若要自定义数据库存储目录请先不要初始化数据库,参考后边章节后在初始化数据库) sudo /usr/pgsql-12/bin/postgresql-12-setup initdb #设置数据开机自启 sudo systemctl enable postgresql-12 #启动数据库 sudo systemctl start postgresql-12 

数据库安装后的数据存储目录默认在/var/lib/pgsql/12/data,12为数据库的主版本号

二、修改数据库默认数据存储目录

#默认安装路径Environment=PGDATA=/var/lib/pgsql/15/data/
在没有初始化数据库之前,默认的data目录下是空的
在这里插入图片描述

1.自定义数据存放目录

mkdir -p /pgsql/12/data/             #创建自定义数据存储目录 chown -R postgres:postgres /pgsql    #修改目录权限 

2.修改自定义服务

vi /usr/lib/systemd/system/postgresql-12.service #修改默认环境变量数据存放路径,找到Environment修改为自己定义的数据存放目录 [Service] Environment=PGDATA=/pgsql/12/data/   #修改完后保存退出 

在这里插入图片描述

#重新加载systemctl systemctl daemon-reload 

3.初始化数据库

#初始化数据库 sudo /usr/pgsql-12/bin/postgresql-12-setup initdb 

在这里插入图片描述
可以看出/pgsql/12/data/目录下有很多文件,证明初始化成功

4.运行数据库

#设置数据开机自启 sudo systemctl enable postgresql-12 #启动数据库 sudo systemctl start postgresql-12 

三、配置数据库信息

1.修改密码

#切换到postgres用户 su postgres #切换SQL模式 psql #修改密码 alter user postgres with password 'postgres123'; #创建test用户 create user test with password 'test'; #授权 grant all privileges on database mydb to test; #退出 \q 

在这里插入图片描述
2.配置远程访问

#打开防火墙端口 sudo firewall-cmd --add-port=5432/tcp --permanent #刷新防火墙 sudo firewall-cmd --reload 

3.修改配置文件

#此处是修改默认存储路径(默认:/var/lib/pgsql/12/data) vim /pgsql/12/data/postgresql.conf #取消监听注释,监听地址改为*  listen_addresses = '*'  

修改配置文件如下图所示:在这里插入图片描述
允许所有IP访问,即修改 pg_hba.conf 文件

#此处是修改默认存储路径(默认:/var/lib/pgsql/12/data) vim /pgsql/12/data/pg_hba.conf #新增一行,若连接不上则将 scram-sha-256修改为trust 信任模式 host    all             all             0.0.0.0/0               trust  重启服务 sudo systemctl restart postgresql-12 

修改配置文件如下图所示:
在这里插入图片描述
用Navicat连接数据库,连接信息如下图所示:

在这里插入图片描述

四、权限

-- 创建一个新的只读用户 CREATE ROLE readonly_user WITH LOGIN PASSWORD 'password';   -- 为用户授予数据库的只读权限 GRANT CONNECT ON DATABASE your_database_name TO readonly_user; GRANT USAGE ON SCHEMA public TO readonly_user; GRANT SELECT ON ALL TABLES IN SCHEMA public TO readonly_user; GRANT SELECT ON ALL SEQUENCES IN SCHEMA public TO readonly_user; 

异常处理

1)Navicat连接报错 错误代码:authentication method 10 not supported 或 致命错误:用户"postgres" Password 认证失败:
处理方案:在 pg_hba.conf 文件中可将新增的 0.0.0.0/0 的模式改为 trust
在这里插入图片描述

相关内容

热门资讯

据报道!wepoker有辅助工... 据报道!wepoker有辅助工具吗,方片十三张脚本,烘培教程(有挂详细)1、全新机制【方片十三张脚本...
2026版教学!newpoke... 2026版教学!newpoker怎么安装脚本,微信随意玩辅助器,模块教程(有挂总结)1、完成微信随意...
2026版辅助挂!约局吧辅助器... 2026版辅助挂!约局吧辅助器,老k游戏辅助器,技法教程(有挂详细)1、任何老k游戏辅助器透视是真的...
日前!wpk透视辅助靠谱吗,家... 日前!wpk透视辅助靠谱吗,家乡大二有没有挂,手筋教程(有挂方式)家乡大二有没有挂破解侠是真的助透视...
据了解!pokernow辅助控... 据了解!pokernow辅助控制,sohoo竞技联盟辅助,资料教程(有挂辅助)1、sohoo竞技联盟...
据悉!德州局怎么透视,微信小程... 据悉!德州局怎么透视,微信小程序辅助器免费下载,讲义教程(有挂秘籍)微信小程序辅助器免费下载辅助器是...
2026版规律!wpk真的有透... 2026版规律!wpk真的有透视嘛,透视盒子,方式教程(有挂方法)1、透视盒子破解器简单,透视盒子机...
近日!购买的wpk辅助在哪里下... 近日!购买的wpk辅助在哪里下载,微信开发辅助工具,步骤教程(讲解有挂)1、微信开发辅助工具免费脚本...
黑科技辅助挂!aapoker辅... 黑科技辅助挂!aapoker辅助器怎么用,微友三代辅助,方案教程(有挂详细)1、实时微友三代辅助透视...
今日!hhpoker是真的假的... 今日!hhpoker是真的假的,凑一桌开挂,办法教程(有挂解惑)在进入凑一桌开挂软件靠谱后,参与本局...