赞
踩
目录
PostgreSQL是以加州大学伯克利分校计算机系开发的POSTGRES, 版本 4.2为基础的对象关系型数据库管理系统(ORDBMS)。POSTGRES 领先的许多概念在很久以后才出现在一些商业数据库系统中。
PostgreSQL是最初的伯克利代码的开源继承者。它支持大部分 SQL 标准并且提供了许多特性:
同样,PostgreSQL可以用许多方法扩展,比如, 通过增加新的:
官网地址: https://www.postgresql.org/download/linux/redhat/
连接工具: https://www.pgadmin.org/download/
- # 获取所需依赖包
- wget https://download-ib01.fedoraproject.org/pub/epel/7/x86_64/Packages/l/libzstd-1.5.5-1.el7.x86_64.rpm
- wget https://download-ib01.fedoraproject.org/pub/epel/7/x86_64/Packages/l/llvm5.0-devel-5.0.1-7.el7.x86_64.rpm
- wget https://download-ib01.fedoraproject.org/pub/epel/7/x86_64/Packages/l/llvm5.0-5.0.1-7.el7.x86_64.rpm
- wget https://download-ib01.fedoraproject.org/pub/epel/7/x86_64/Packages/l/llvm5.0-libs-5.0.1-7.el7.x86_64.rpm
-
-
- yum install -y libzstd-1.5.5-1.el7.x86_64.rpm
- yum install -y centos-release-scl-rh llvm5*
- yum install -y epel-release
依赖下载安装完成
- wget --no-check-certificate https://download.postgresql.org/pub/repos/yum/reporpms/EL-7-x86_64/pgdg-redhat-repo-latest.noarch.rpm
-
- # 安装 PostgreSQL
- sudo yum install -y postgresql15-server postgresql15-devel
安装完成
- # 初始化DB
- sudo /usr/pgsql-15/bin/postgresql-15-setup initdb
-
- # 开机启动|启动|重启|状态|停止 命令
- sudo systemctl enable postgresql-15
- sudo systemctl start postgresql-15
- sudo systemctl restart postgresql-15
- sudo systemctl status postgresql-15
- sudo systemctl stop postgresql-15
确认启动
/etc/profile文件中添加如下配置:
- # PGSQL_HOME
- export PGSQL_HOME=/usr/pgsql-15
- export PATH=$PATH:$PGSQL_HOME/bin
配置完成后 记得 source一下下。
- # 切换用户
- su postgres
- # 进入命令行
- psql
-
- #创建DB
- create database test_db
-
- alter user postgres with password 'winner@001';
进入数据库命令行 创建数据库并
启动默认端口:5432
- # 编辑
- vim /var/lib/pgsql/15/data/postgresql.conf
- 修改参数:
- listen_addresses = '*'
-
- # 编辑配置
- vim /var/lib/pgsql/15/data/pg_hba.conf
- # 添加内容
- host all all 0.0.0.0/0 md5
-
- # 重启
- systemctl restart postgresql-15
命令行测试
psql -h 主机IP -p 端口 -U 用户名 -W -d 数据库
使用Navicat162 连接, 下载最新的 Navicat ,要不然会报错
输入命令 su postgres 然后在输入命令psql 如果一切正常,系统提示符会变为"postgres=#",表示这时已经进入了数据库控制台
切换数据库并 查询users 表
添加名为kangll的用户,并设置密码'123456', 给kangll用户,创建数据库叫kangll_test
- postgres=# create user kangll with password '123456';
- CREATE ROLE
- postgres=# create database kangll_test owner kangll;
- CREATE DATABASE
- postgres=# \du
- List of roles
- Role name | Attributes | Member of
- -----------+------------------------------------------------------------+-----------
- kangll | | {}
- postgres | Superuser, Create role, Create DB, Replication, Bypass RLS | {}
-
- postgres=# \l
将 kangll_test 库的所有权限赋予kangll用户
- grant all privileges on database kangll_test to kangll;
-
- grant usage on schema public to kangll;
-
- grant all privileges on all tables in schema public to kangll;
-
- grant all privileges on all sequences in schema public to kangll;
-
- grant select,insert,update,delete on all tables in schema public to kangll;
-
- grant all on schema public to kangll;
pg 默认所有用户都可以在名称为public的schema中创建表,只读用户不允许创建。
kang_test 库中创建 stu 表
- CREATE TABLE stu(
- stu_id BIGINT NOT NULL,
- stu_name VARCHAR(255) NOT NULL);
-
- # 插入数据
- INSERT INTO stu VALUES(1, 'kangll');
-
- # 查询
- SELECT * FROM stu;
修改角色为超级用户角色
alter role kangll with superuser;
撤销用户权限
- /* 撤销用户权限 */
- REVOKE privileges ON tablename FROM user;
Copyright © 2003-2013 www.wpsshop.cn 版权所有,并保留所有权利。