当前位置:   article > 正文

【PostgreSQL】系列之 一 CentOS 7安装PGSQL15版本(一)_centos7如何安装postgresql15

centos7如何安装postgresql15

目录

一、何为PostgreSQL?

二、PostgreSQL安装

2.1安装依赖

2.2 执行安装

2.3 数据库初始化

2.4 配置环境变量

2.5 创建数据库

2.6 配置远程

2.7 测试远程

三、常用命令

四、用户创建和数据库权限


一、何为PostgreSQL?


PostgreSQL是以加州大学伯克利分校计算机系开发的POSTGRES, 版本 4.2为基础的对象关系型数据库管理系统(ORDBMS)。POSTGRES 领先的许多概念在很久以后才出现在一些商业数据库系统中。

PostgreSQL是最初的伯克利代码的开源继承者。它支持大部分 SQL 标准并且提供了许多特性:

  • 复杂查询
  • 外键
  • 触发器
  • 可更新视图
  • 事务完整性
  • 多版本并发控制

同样,PostgreSQL可以用许多方法扩展,比如, 通过增加新的:

  • 数据类型
  • 函数
  • 操作符
  • 聚集函数
  • 索引方法
  • 过程语言

官网地址: https://www.postgresql.org/download/linux/redhat/

连接工具: https://www.pgadmin.org/download/


二、PostgreSQL安装


2.1安装依赖


  1. # 获取所需依赖包
  2. wget https://download-ib01.fedoraproject.org/pub/epel/7/x86_64/Packages/l/libzstd-1.5.5-1.el7.x86_64.rpm
  3. wget https://download-ib01.fedoraproject.org/pub/epel/7/x86_64/Packages/l/llvm5.0-devel-5.0.1-7.el7.x86_64.rpm
  4. wget https://download-ib01.fedoraproject.org/pub/epel/7/x86_64/Packages/l/llvm5.0-5.0.1-7.el7.x86_64.rpm
  5. wget https://download-ib01.fedoraproject.org/pub/epel/7/x86_64/Packages/l/llvm5.0-libs-5.0.1-7.el7.x86_64.rpm
  6. yum install -y libzstd-1.5.5-1.el7.x86_64.rpm
  7. yum install -y centos-release-scl-rh llvm5*
  8. yum install -y epel-release

依赖下载安装完成

2.2 执行安装


  1. wget --no-check-certificate https://download.postgresql.org/pub/repos/yum/reporpms/EL-7-x86_64/pgdg-redhat-repo-latest.noarch.rpm
  2. # 安装 PostgreSQL
  3. sudo yum install -y postgresql15-server postgresql15-devel

安装完成

2.3 数据库初始化


  1. # 初始化DB
  2. sudo /usr/pgsql-15/bin/postgresql-15-setup initdb
  3. # 开机启动|启动|重启|状态|停止 命令
  4. sudo systemctl enable postgresql-15
  5. sudo systemctl start postgresql-15
  6. sudo systemctl restart postgresql-15
  7. sudo systemctl status postgresql-15
  8. sudo systemctl stop postgresql-15

确认启动

2.4 配置环境变量


/etc/profile文件中添加如下配置:

  1. # PGSQL_HOME
  2. export PGSQL_HOME=/usr/pgsql-15
  3. export PATH=$PATH:$PGSQL_HOME/bin

配置完成后 记得 source一下下。

2.5 创建数据库


  1. # 切换用户
  2. su postgres
  3. # 进入命令行
  4. psql
  5. #创建DB
  6. create database test_db
  7. alter user postgres with password 'winner@001';

进入数据库命令行 创建数据库并

启动默认端口:5432

2.6 配置远程


  1. # 编辑
  2. vim /var/lib/pgsql/15/data/postgresql.conf
  3. 修改参数:
  4. listen_addresses = '*'
  5. # 编辑配置
  6. vim /var/lib/pgsql/15/data/pg_hba.conf
  7. # 添加内容
  8. host all all 0.0.0.0/0 md5
  9. # 重启
  10. systemctl restart postgresql-15

2.7 测试远程


命令行测试

psql -h 主机IP -p 端口  -U 用户名 -W -d 数据库

使用Navicat162 连接, 下载最新的 Navicat ,要不然会报错


三、常用命令


输入命令 su postgres    然后在输入命令psql  如果一切正常,系统提示符会变为"postgres=#",表示这时已经进入了数据库控制台

  •  \l:列出系统中的数据库 
  • \h:查看SQL命令的解释,比如\h select。
  • \?:查看psql命令列表。
  • \l:列出所有数据库。
  • \c [database_name]:连接其他数据库。
  • \d:列出当前数据库的所有表格。
  • \du:列出所有用户。
  • \e:打开文本编辑器。
  • \conninfo:列出当前数据库和连接的信息。

切换数据库并 查询users 表


四、用户创建和数据库权限


添加名为kangll的用户,并设置密码'123456', 给kangll用户,创建数据库叫kangll_test

  1. postgres=# create user kangll with password '123456';
  2. CREATE ROLE
  3. postgres=# create database kangll_test owner kangll;
  4. CREATE DATABASE
  5. postgres=# \du
  6. List of roles
  7. Role name | Attributes | Member of
  8. -----------+------------------------------------------------------------+-----------
  9. kangll | | {}
  10. postgres | Superuser, Create role, Create DB, Replication, Bypass RLS | {}
  11. postgres=# \l

将 kangll_test 库的所有权限赋予kangll用户

  1. grant all privileges on database kangll_test to kangll;
  2. grant usage on schema public to kangll;
  3. grant all privileges on all tables in schema public to kangll;
  4. grant all privileges on all sequences in schema public to kangll;
  5. grant select,insert,update,delete on all tables in schema public to kangll;
  6. grant all on schema public to kangll;

pg 默认所有用户都可以在名称为public的schema中创建表,只读用户不允许创建。

kang_test 库中创建 stu 表

  1. CREATE TABLE stu(
  2. stu_id BIGINT NOT NULL,
  3. stu_name VARCHAR(255) NOT NULL);
  4. # 插入数据
  5. INSERT INTO stu VALUES(1, 'kangll');
  6. # 查询
  7. SELECT * FROM stu;

修改角色为超级用户角色

alter role kangll  with superuser;

撤销用户权限

  1. /* 撤销用户权限 */
  2. REVOKE privileges ON tablename FROM user;

声明:本文内容由网友自发贡献,不代表【wpsshop博客】立场,版权归原作者所有,本站不承担相应法律责任。如您发现有侵权的内容,请联系我们。转载请注明出处:https://www.wpsshop.cn/w/菜鸟追梦旅行/article/detail/173386
推荐阅读
相关标签
  

闽ICP备14008679号