当前位置: 首页 > article >正文

PostgreSQL详细安装教程


#安装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 15版本
sudo yum install -y postgresql15-server

#初始化数据库(若要自定义数据库存储目录请先不要初始化数据库,参考后边章节后在初始化数据库)
sudo /usr/pgsql-15/bin/postgresql-15-setup initdb
#设置数据开机自启
sudo systemctl enable postgresql-15
#启动数据库
sudo systemctl start postgresql-15

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

1.自定义数据存放目录

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

2.修改自定义服务

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

3.初始化数据库

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

可以看出/pgsql/15/data/目录下有很多文件,证明初始化成功

4.运行数据库

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

三、配置数据库信息

1.修改密码

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

2.配置远程访问

 #开放防火墙端口命令
 
 firewall-cmd --query-port=5432/tcp
 
 firewall-cmd --zone=public --add-port=5432/tcp --permanent
 
 firewall-cmd --reload

#如果防火墙是iptables用下面这个
vi /etc/sysconfig/iptables #编辑防火墙配置文件
#增加下面这行
-A INPUT -p tcp -m state --state NEW -m tcp --dport 5432 -j ACCEPT

:wq! #保存退出

systemctl restart iptables.service #最后重启防火墙使配置生效

systemctl enable iptables.service #设置防火墙开机启动

/usr/libexec/iptables/iptables.init restart #重启防火墙

3.修改配置文件

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

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

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

用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

五、卸载

第一步:卸载旧版本的PostgreSQL:

sudo yum remove postgresql postgresql-server

sudo yum remove postgresql-contrib

sudo yum remove postgresql*

第二步:删除PostgreSQL的数据文件和配置文件:

sudo rm -rf /var/lib/postgresql/

sudo rm -rf /etc/postgresql/

环境变量设置

vim /etc/profile 

export PATH=$JAVA_HOME/bin:/usr/pgsql-15/bin:$PATH

source /etc/profile

CentOS报错:Could not retrieve mirrorlist http://mirrorlist.centos.org/?release=7&arch=x86_64&repo=os&infra=stock32 error was 14: curl#6 - "Could not resolve host: mirrorlist.centos.org; Unknown error"问题

       如果还不行 更新yum源

  3.1.阿里
  3.1.1备份当前的yum源
    mv /etc/yum.repos.d/CentOS-Base.repo /etc/yum.repos.d/CentOS-Base.repo.backup
  3.1.2下载新的CentOS-Base.repo 到/etc/yum.repos.d/ 
    CentOS 7
              wget -O /etc/yum.repos.d/CentOS-Base.repo http://mirrors.aliyun.com/repo/Centos-7.repo
    或者
    curl -o /etc/yum.repos.d/CentOS-Base.repo http://mirrors.aliyun.com/repo/Centos-7.repo

  3.1.3 清空并生成缓存
    yum clean all

    yum makecache
                        
参考链接:https://blog.csdn.net/gnwu1111/article/details/140172717

向量数据库:PGVector

参考

Linux服务器快速安装PostgreSQL15以及pgvector向量插件_慕课手记

下面这个问题的解决

/usr/lib/postgresql/10/lib/pgxs/src/makefiles/pgxs.mk:没有这样的文件或目录

PostgreSQL: Simple C extension Development for a Novice User (and Performance Advantages)


http://www.kler.cn/a/417844.html

相关文章:

  • 从0开始学PHP面向对象内容之常用设计模式(享元)
  • LWIP和FATFS 实现 FTP 服务端
  • ESP8266 (ESP-01S)烧录固件 和 了解与单片机通信必需的AT指令
  • 【操作文档】mysql分区操作步骤.docx
  • 搭建业务的性能优化指南
  • Java对象与XML互相转换(xstream)
  • 【ROS2】ROS2 C++版本 与 Python版本比较
  • 数据结构4——栈和队列
  • 救生艇..
  • HOG 算法变形:原理、应用与创新发展
  • 行业分析---2024年蔚来汽车三季度财报及科技日
  • [C#] 对图像进行垂直翻转(FlipY)的跨平台SIMD硬件加速向量算法,兼谈并行处理收益极少的原因
  • 155. TWEEN.JS点按钮,相机飞行靠近观察设备
  • Fastadmin系统配置增加配置字段类型
  • 《安富莱嵌入式周报》第346期:开源2GHz带宽,12bit分辨率,3.2Gsps采样率示波,开源固件安全分析器, 开源口袋电源,开源健康测量,FreeCAD
  • Z2400024基于Java+SSM+mysql+maven开发的社区论坛系统的设计与实现(附源码 配置 文档)
  • 【MySQL】库和表的基本操作
  • VC++网络安全编程范例(12)-PKI编程
  • A02、Java 设计模式优化
  • Chapter 2 - 20. Understanding Congestion in Fibre Channel Fabrics
  • 考前的紧张的一些思考
  • Docker的save和export命令的区别,load和import的区别 笔记241124
  • 上门预约服务小程序开发,便捷生活,一键预约
  • JVM双亲委派机制原理
  • 图像显示的是矩阵的行和列,修改为坐标范围。
  • windows C#-语句