文章目录
- 前言
- 一、安装PostgreSQL
- 二、修改数据库默认数据存储目录
- 1.自定义数据存放目录
- 2.修改自定义服务
- 3.初始化数据库
- 4.运行数据库
- 三、设置数据库信息
- 异常处理
前言
提示:本次博客是centos7.9安装PostgreSQL12版本
名称
版本
Centos
7.9
postgresql
12
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
免责声明:如果侵犯了您的权益,请联系站长,我们会及时删除侵权内容,谢谢合作!更多信息从访问主页:qidao123.com:ToB企服之家,中国第一个企服评测及商务社交产业平台。 |