Linux 上安装 PostgreSQL

打印 上一主题 下一主题

主题 537|帖子 537|积分 1611


前言

提示:本次博客是centos7.9安装PostgreSQL12版本
名称版本Centos7.9postgresql12postgresql端口5432postgresql存储路径/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:(复制、粘贴并运行设置脚本的相关部门)详细说明如下
  1. #安装PostgreSQL的yum仓库
  2. sudo yum install -y https://download.postgresql.org/pub/repos/yum/reporpms/EL-7-x86_64/pgdg-redhat-repo-latest.noarch.rpm
  3. #安装PostgreSQL 12版本
  4. sudo yum install -y postgresql12-server
  5. #初始化数据库(若要自定义数据库存储目录请先不要初始化数据库,参考后边章节后在初始化数据库)
  6. sudo /usr/pgsql-12/bin/postgresql-12-setup initdb
  7. #设置数据开机自启
  8. sudo systemctl enable postgresql-12
  9. #启动数据库
  10. sudo systemctl start postgresql-12
复制代码
数据库安装后的数据存储目次默认在/var/lib/pgsql/12/data,12为数据库的主版本号
二、修改数据库默认数据存储目次

#默认安装路径Environment=PGDATA=/var/lib/pgsql/15/data/
在没有初始化数据库之前,默认的data目次下是空的

1.自定义数据存放目次

  1. mkdir -p /pgsql/12/data/             #创建自定义数据存储目录
  2. chown -R postgres:postgres /pgsql    #修改目录权限
复制代码
2.修改自定义服务

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

  1. #重新加载systemctl
  2. systemctl daemon-reload
复制代码
3.初始化数据库

  1. #初始化数据库
  2. sudo /usr/pgsql-12/bin/postgresql-12-setup initdb
复制代码

可以看出/pgsql/12/data/目次下有很多文件,证明初始化成功
4.运行数据库

  1. #设置数据开机自启
  2. sudo systemctl enable postgresql-12
  3. #启动数据库
  4. sudo systemctl start postgresql-12
复制代码
三、配置数据库信息

1.修改暗码
  1. #切换到postgres用户
  2. su postgres
  3. #切换SQL模式
  4. psql
  5. #修改密码
  6. alter user postgres with password 'postgres123';
  7. #创建test用户
  8. create user test with password 'test';
  9. #授权
  10. grant all privileges on database mydb to test;
  11. #退出
  12. \q
复制代码

2.配置长途访问
  1. #打开防火墙端口
  2. sudo firewall-cmd --add-port=5432/tcp --permanent
  3. #刷新防火墙
  4. sudo firewall-cmd --reload
复制代码
3.修改配置文件
  1. #此处是修改默认存储路径(默认:/var/lib/pgsql/12/data)
  2. vim /pgsql/12/data/postgresql.conf
  3. #取消监听注释,监听地址改为*
  4. listen_addresses = '*'
复制代码
修改配置文件如下图所示:

答应全部IP访问,即修改 pg_hba.conf 文件
  1. #此处是修改默认存储路径(默认:/var/lib/pgsql/12/data)
  2. vim /pgsql/12/data/pg_hba.conf
  3. #新增一行,若连接不上则将 scram-sha-256修改为trust 信任模式
  4. host    all             all             0.0.0.0/0               trust
  5. 重启服务
  6. sudo systemctl restart postgresql-12
复制代码
修改配置文件如下图所示:

用Navicat连接数据库,连接信息如下图所示:

四、权限

  1. -- 创建一个新的只读用户
  2. CREATE ROLE readonly_user WITH LOGIN PASSWORD 'password';
  3. -- 为用户授予数据库的只读权限
  4. GRANT CONNECT ON DATABASE your_database_name TO readonly_user;
  5. GRANT USAGE ON SCHEMA public TO readonly_user;
  6. GRANT SELECT ON ALL TABLES IN SCHEMA public TO readonly_user;
  7. 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


免责声明:如果侵犯了您的权益,请联系站长,我们会及时删除侵权内容,谢谢合作!更多信息从访问主页:qidao123.com:ToB企服之家,中国第一个企服评测及商务社交产业平台。

本帖子中包含更多资源

您需要 登录 才可以下载或查看,没有账号?立即注册

x
回复

使用道具 举报

0 个回复

倒序浏览

快速回复

您需要登录后才可以回帖 登录 or 立即注册

本版积分规则

惊落一身雪

金牌会员
这个人很懒什么都没写!

标签云

快速回复 返回顶部 返回列表