Postgre数据库初探

一、PostgreSQL介绍

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

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

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

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

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

并且,因为自由宽大的许可证,任何人都可以以任何目的免费使用、修改和分发PostgreSQL, 不管是私用、商用还是学术研究目的。

二、Linux 上安装 PostgreSQL

https://www.postgresql.org/download/linux/redhat/
sudo yum install -y https://download.postgresql.org/pub/repos/yum/reporpms/EL-7-x86_64/pgdg-redhat-repo-latest.noarch.rpm
sudo yum install -y postgresql14-server
sudo /usr/pgsql-14/bin/postgresql-14-setup initdb
sudo systemctl enable postgresql-14
sudo systemctl start postgresql-14

PostgreSQL不推荐使用root管理,在安装成功postgreSQL后,他默认会给你创建一个用户:postgres

玩PGSQL前,先切换到postgres

su postgres

到postgres用户后,直接输入psql即可进入到postgreSQL提供的客户端

# 进入命令行
psql
# 查看有哪些库,如果是新安装的,有三个库,一个是postgres,template0,template1
\l  

在这里插入图片描述
添加密码

alter user postgres with password 'postgres';

三、PostgreSQL的配置

要搞两个配置信息,一个关于postgreSQL的远程连接配置以及postgreSQL的日志配置。

PostgreSQL的主要配置放在数据目录下的, postgresql.conf 以及 pg_hba.conf 配置文件

这些配置文件都放在了

# 这个目录下
cd /var/lib/pgsql/14/data

在这里插入图片描述

远程连接配置

PostgreSQL默认情况下不支持远程连接的,这个跟MySQL几乎一样

  • MySQL给mysql.user追加用户,一般是采用grant的命令去玩。
  • PostgreSQL要基于配置文件修改,才能制定用户是否可以远程连接。
    直接去修改pg_hba.conf配置文件

用户以及对应数据库和连接方式的编写模板
在这里插入图片描述

# 第一块
local:代表本地连接,host代表可以指定连接的ADDRESS
# 第二块
database编写数据库名,如果写all,代表所有库都可以连接
# 第三块
user编写连接的用户,可以写all,代表所有用户
# 第四块
address代表那些IP地址可以连接
# 第五块
method加密方式,这块不用过多关注,直接md5
# 直接来个痛快的配置吗,允许任意地址的全部用户连接所有数据库
host    all             all             0.0.0.0/0               md5

为了实现远程连接,除了用户级别的这种配置,还要针对服务级别修改一个配置
服务级别的配置在postgresql.conf

vim postgresql.conf
60G
localhost改为*即可开放连接

在这里插入图片描述
记得,为了生效,一定要重启

# postgres密码不管,直接root用户
sudo systemctl restart postgresql-14
create user root with SUPERUSER PASSWORD 'root';

编写psql命令尝试去用root用户登录

psql -h 192.168.99.116 -p 5432 -U root -W

发现,光有用户不让登录,得让用户有一个数据库,直接构建一个root库
在这里插入图片描述

create database root;

可以在不退出psql的前提下,直接切换数据库

\c root;

四、权限操作

权限操作前,要先掌握一下PGSQL的逻辑结构
在这里插入图片描述
在PGSQL中,权限的管理分为很多多层

server、cluster、tablespace级别:这个级别一般是基于pg_hba.conf去配置

database级别:通过命令级别操作,grant

namespace、schema级别:玩的不多……不去多了解这个~~

对象级别:通过grant命令去设置

小任务
构建一个用户(你自己名字)

构建一个数据库

在这个数据库下构建一个schema(数据库默认有一个public的schema)

将这个schema的权限赋予用户

在这个schema下构建一个表

将表的select,update,insert权限赋予用户

完成上述操作

-- 准备用户
create user xcz with password 'xcz';
-- 准备数据库
create database xcz;
-- 切换数据库
\c xcz;
-- 构建schema
create schema xcz;
-- 将schema的拥有者修改为xcz用户
alter schema xcz owner to xcz;
-- 将laozheng库下的laozheng的schema中的表的增,改,查权限赋予给laozheng用户
grant select,insert,update on all tables in schema xcz to xcz;
-- 用postgres用户先构建一张表
create table xcz.test(id int);
-- 切换到laozheng用户。
\c xcz -xcz
-- 报错:
-- 致命错误:  对用户"-lxcz"的对等认证失败
-- Previous connection kept
-- 上述方式直接凉凉,原因是匹配连接方式时,基于pg_hba.conf文件去从上往下找
-- 找到的第一个是local,匹配上的。发现连接方式是peer。
-- peer代表用当前系统用户去连接PostgreSQL
-- 当前系统用户只有postgres,没有xcz,无法使用peer连接
-- 想构建xcz用户时,发现postgreSQL的所有文件拥有者和所属组都是postgres,并且能操作的只有拥有者

-- 基于上述问题,不采用本地连接即可。
-- 采用远程连接。
psql -h 192.168.99.116 -p 5432 -U xcz -W
-- 这样依赖,跳过了local链接方式的匹配,直接锁定到后面的host,host的连接方式是md5,md5其实就是密码加密了。
-- 登录后,直接输入
\dn
-- 查看到当前database下有两个schema

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mfbz.cn/a/674171.html

如若内容造成侵权/违法违规/事实不符,请联系我们进行投诉反馈qq邮箱809451989@qq.com,一经查实,立即删除!

相关文章

linux内核零拷贝技术详解

1.前言 Linux系统中一切皆文件,仔细想一下Linux系统的很多活动无外乎读操作和写操作,零拷贝就是为了提高读写性能而出现的。 2. 数据拷贝基础过程 在Linux系统内部缓存和内存容量都是有限的,更多的数据都是存储在磁盘中。对于Web服务器来说…

linux系统上shell脚本编写问题总结

需求背景:项目技术栈:Vue2Nuxt2TypeScript,是一个服务端渲染的项目,每次打测试包时需要在虚拟机上通过命令行打包项目,然后将打包生成的文件压缩为一个压缩包.tar.gz,然后将这个压缩包下载到本地&#xff0…

免费API HUB行业报告

1. 行业概述 1.1 API HUB定义 API HUB,即应用程序接口中心,是一个集中管理和提供API服务的平台。它允许开发者轻松地访问和集成来自不同来源的API,从而加速开发过程并促进技术创新。 1.2 免费API HUB的特点 免费API HUB通常具有以下特点&…

免费听歌软件b端(但需要下载)

我会觉得很好用所以分享出来供大家使用。 这个事打开后的页面包括可以选择分页,和搜索等 回车可以用上面的搜索图片也可以点机 从前往后呢分别是排序,歌曲id,歌曲名称,歌手,专辑,歌曲长度,操作 …

【算法每日一练】新月轩就餐

思路: 其实很容易想到是双指针或者双端队列。 我们设置一个type表示当前区间已经有了多少种厨师,同时还需要记录区间中每个元素出现的次数,然后比较棘手的是移动问题了,什么时候移动呢? 我们可以发现当区间当队头元…

脂热控制+规律喝水+适量运动,健康减调全攻略

一、控制脂热的摄取量 肥胖大多都是因为身体摄取了多余的脂热而逐渐形成长成的,因此,控制脂热的摄取量就等于是控制了肥胖的涨幅。不了解的,按公式和例举的来就行 油脂量摄取公式:正常人每人每天油脂量摄取每公斤体重数x0.45&am…

【漏洞复现】海康威视综合安防管理平台 orgManage/v1/orgs/download 任意文件读取漏洞

0x01 产品简介 海康威视综合安防管理平台是一套“集成化”、“智能化”的平台,通过接入视频监控、一卡通、停车场、报警检测等系统的设备。海康威视集成化综合管理软件平台,可以对接入的视频监控点集中管理,实现统一部署、统一配置、统一管理和统一调度。 0x02 漏洞概述 海康…

算法学习笔记(7.4)-贪心算法(区间调度问题)

目录 ##什么是区间调度问题 ##贪心解法 ##具体的例题示例讲解 ##452. 用最少数量的箭引爆气球 - 力扣(LeetCode) ##435. 无重叠区间 - 力扣(LeetCode) ##56. 合并区间 - 力扣(LeetCode) ##什么是区间调…

【Go专家编程——语法糖】

语法糖 语法糖表示编程语言中特定类型的语法,这些语法对语言的功能没有影响,但是更方便程序员使用。 1.语法糖: 1.1 规则一:多变量复制可能会重新声明 我们知道可以使用“:”可以同时声明多个变量 field1, offset : nextField(str,0) fi…

重新安装VmWare的tools

原因: 因为一些原因,我需要重新安装VmWare tools,比如我升级到了win11,但是Vmware16.0已经不能使用,所以我升级了Vmware到16.2,这时候就需要升级VmWare tools。但是升级以后,会有一些小问题&…

MongoDB环境搭建

一.下载安装包 Download MongoDB Community Server | MongoDB 二、双击下载完成后的安装包开始安装,除了以下两个部分需要注意操作,其他直接next就行 三.可视化界面安装 下载MongoDB-compass,地址如下 MongoDB Compass Download (GUI) | M…

LabVIEW动态力传感器校准系统

LabVIEW动态力传感器校准系统 开发了一种基于LabVIEW的动态力传感器校准系统。系统主要用于动态力的测量和校准,通过高度集成化和自动化的设计,显著提升校准的效率和精确度。系统采用冲击法进行动态校准,涵盖了完整的硬件设计和软件开发流程…

SparkML

SparkML 一、介绍二、模型开发流程1、dataframe数据模型2、transformer转换器3、estimators模型学习器4、pipeline管道 三、示例:基于随机森林的新闻分类任务1、引入相关包2、初始化spark3、读取数据4、查看数据情况5、数据处理1、分词2、类别编码3、去除停用词4、b…

Python GNN图神经网络代码实战;GAT代码模版,简单套用,易于修改和提升,图注意力机制代码实战

1.GAT简介 GAT(Graph Attention Network)模型是一种用于图数据的深度学习模型,由Veličković等人在2018年提出。它通过自适应地在图中计算节点之间的注意力来学习节点之间的关系,并在节点表示中捕捉全局和局部信息。 GAT模型的核…

实现spring配置bean类机制

大家好,这里是教授.F 流程说明: 我们自己实现spring配置bean类的机制,要先了解原本是怎么实现的。 原本的机制就是有一个bean配置文件,还有一个ApplicationContext spring文件。bean类写着要扫描的文件信息,spring文…

vscode编译c/c++找不到jni.h文件

解决办法: 一、下载JDK 访问Oracle官网的Java下载页面:Java Downloads | Oracle 选择适合您操作系统的JDK版本: 对于Windows,选择“Windows x64”或“Windows x86”(取决于您的系统是64位还是32位)。对于Linux&#…

扩散世界模型已训练出赶超人类的智能体?

论文标题: Diffusion for World Modeling:Visual Details Matter in Atari 论文作者: Eloi Alonso, Adam Jelley, Vincent Micheli, Anssi Kanervisto, Amos Storkey, Tim Pearce, Franois Fleuret 项目地址: https://github.com/eloial…

封装了一个使用UICollectionViewLayout 实现的吸附居左banner图

首先查看效果图 实现的原理就是通过自定义UICollectionView layout,然后 设置减速速率是快速就可以达到吸附的效果 _collectionView.decelerationRate UIScrollViewDecelerationRateFast; 下面贴出所有代码 这里是.h // // LBMiddleExpandLayout.h // Liubo…

Java零基础-顺序结构

哈喽,各位小伙伴们,你们好呀,我是喵手。运营社区:C站/掘金/腾讯云;欢迎大家常来逛逛 今天我要给大家分享一些自己日常学习到的一些知识点,并以文字的形式跟大家一起交流,互相学习,一…

10 个最佳 MP4 转换器,可帮助您将视频转换为 MP4

许多人正在寻找一种强大的工具将视频转换为 MP4。网上有很多 MP4 转换器,但只有少数能够有效地将视频转换为 MP4。我们根据实验室测试和用户报告确定了前 10 名 MP4 转换器。在这篇文章中,我们将向您展示这些 MP4 转换器具有哪些功能以及如何使用它们。 …