PostgreSQL
文章平均质量分 69
小马穿云
这个作者很懒,什么都没留下…
展开
专栏收录文章
- 默认排序
- 最新发布
- 最早发布
- 最多阅读
- 最少阅读
-
PostgreSQL数组类型的增、删、改、查详解
PostgreSQL支持表的字段使用定长或可变长度的一维或多维数组,数组的类型可以是任何数据库内建的类型、用户自定义的类型、枚举类型以及组合类型。数组类型的定义就是通过在其基本类型后面附加中括号 [] 来实现的,中括号中可以给一个长度数字,也可以不给。首先我们先创建了t_test表,里面包含int类型的数组字段name和text类型的数组字段address,如下的代码片段。原创 2023-04-03 11:26:51 · 6932 阅读 · 0 评论 -
PostgreSQL数据库安全加固(十三)——加密身份验证密码
通过网络以明文格式发送的PostgreSQL密码很容易被未经授权的用户发现。泄露密码可能很容易导致未经授权访问数据库。如果用于身份验证密码,PostgreSQL必须只传输加密的密码。原创 2023-02-24 17:04:01 · 882 阅读 · 0 评论 -
PostgreSQL数据库安全加固(十二)——设置密码以哈希形式存储
以明文形式存储,使用可逆加密或使用未加保留的哈希的数据库密码很容易受到未经授权的泄露。数据库密码在内部或外部存储到PostgreSQL时必须始终采用单向哈希的形式。如果使用密码进行身份验证,则PostgreSQL数据库必须仅存储密码的哈希形式。原创 2023-02-23 17:46:27 · 1830 阅读 · 0 评论 -
PostgreSQL数据库安全加固(十一)——定义角色并发会话数
数据库管理包括使用PostgreSQL控制用户数和用户会话数的能力。与PostgreSQL无限制的并发连接可以通过耗尽连接资源来成功进行拒绝服务(DoS)攻击,并且系统也可能因合法用户的过载而失败。因此,限制每个用户的并发会话数有助于降低这些风险。必须在PostgreSQL中配置或添加限制每个用户的并发会话数的功能(例如,通过使用登录触发器)。请注意,仅通过Web服务器或应用程序服务器限制会话是不够的,因为合法用户和攻击者可能通过其他方式连接到PostgreSQL。原创 2023-02-23 17:13:43 · 925 阅读 · 0 评论 -
PostgreSQL数据库安全加固(十)——终止数据库空连接
数据库会话可以在“重放”攻击中重用,会话ID可解决中间人攻击,包括会话劫持或将错误信息插入会话。如果攻击者无法识别或猜测与待处理的应用程序流量相关的会话信息,则他们将更难以劫持会话或以其他方式操纵有效会话。当用户注销或发生任何其他会话终止事件时,PostgreSQL必须终止用户会话以最大限度地减少会话被劫持的可能性。原创 2023-02-20 15:08:48 · 830 阅读 · 0 评论 -
PostgreSQL数据库安全加固(九)——向非特权用户提供尽可能少的信息
数据库可能会通过不正确处理的错误消息无意中向攻击者提供大量信息。除了敏感的业务或个人信息之外,数据库错误还可以提供主机名,IP地址,用户名以及其他系统信息,这些信息不是故障排除所必需的,但对攻击系统的人非常有用。PostgreSQL必须向非特权用户提供尽可能少的信息,限制PostgreSQL数据库的日志级别,则不会泄露可被攻击者利用的信息。原创 2023-02-20 14:18:26 · 426 阅读 · 0 评论 -
PostgreSQL数据库安全加固(八)——用户功能与数据库管理功能分开
信息系统管理功能包括管理数据库、网络组件、工作站或服务器所需的功能,并且通常需要特权用户访问。如果在可供用户使用的界面上显示有关PostgreSQL管理的管理功能或信息,则可能无意中向用户提供有关DBMS设置的信息。PostgreSQL必须将用户功能(包括用户界面服务)与数据库管理功能分开。原创 2023-02-20 13:57:25 · 312 阅读 · 0 评论 -
PostgreSQL数据库命令行执行SQL脚本的三种方式
生成环境中,出于安全性等原因,往往不提供数据库连接工具,所以对数据库的更新和升级就得通过命令行来实现。本文总结了三种命令行执行sql脚本的方式。以上总结的三种方式都比较常用,可以根据自己的应用场景灵活使用。原创 2023-02-17 17:56:45 · 27822 阅读 · 0 评论 -
PostgreSQL数据库安全加固(七)——配置访问控制策略
PostgreSQL必须根据适用的访问控制策略强制执行批准的授权,以便对信息和系统资源进行逻辑访问。可以通过配置pg_hba.conf文件来限制访问。如果PostgreSQL在批准访问时不遵循适用的策略,则可能与信息系统中的网络或其他应用程序冲突。这可能导致用户不正当地获得或被拒绝访问,并且与适用的策略相冲突。原创 2023-02-16 17:17:27 · 1068 阅读 · 1 评论 -
PostgreSQL数据库安全加固(五)——修改数据库结构的角色限于授权用户
用于修改数据库结构(包括但不一定限于表,索引,存储等)和逻辑模块(函数,触发器过程,PostgreSQL外部软件链接等)的角色/组必须限于授权用户。如果PostgreSQL允许任何用户对数据库结构或逻辑进行更改,那么这些更改可能会在没有经过适当的测试和批准的情况下实现,而这些更改是强大的更改管理过程的一部分。因此,只允许合格和授权的个人访问信息系统组件,以便启动更改,包括升级和修改。另外:您可能还需要对表权限进行管理1、查看表权限2、撤销对应的权限。原创 2023-02-16 15:45:51 · 328 阅读 · 0 评论 -
PostgreSQL数据库安全加固(四)——数据库对象拥有者核查
数据库对象(包括但不限于表,索引,存储,触发器过程,函数,外部表等)必须由授权拥有的数据库/ DBMS主体拥有。2、修改schema的所有者请执行以下命令。原创 2023-02-16 14:17:01 · 483 阅读 · 0 评论 -
PostgreSQL数据库安全加固(三)——设置密码更换周期
尽管PostgreSQL数据库不直接提供该密码更换周期功能,但是我们可以通过设置角色的有效期来强制指定,密码到期后, 将无法认证通过。`该项设置要求定期修改角色的有效期,如果你觉得这个过程繁琐或容易遗忘,那么也可以通过在数据库服务器上编写一个定期执行的shell脚本,将时间作为一个参数传入,定期执行alter role valid until '2023-01-01’命令即可。原创 2023-02-16 11:45:50 · 3062 阅读 · 0 评论 -
PostgreSQL数据库安全加固(二)——设置密码验证失败延迟时间
PostgreSQL数据库设置密码验证失败延迟时间可以通过安装auth_delay扩展插件来实现,该设置主要是防止暴力破解,在验证失败后, 会延迟一段时间后,才能继续验证。除了需要在postgresql.conf配置文件中装载auth_delay模块,还需要增加auth_delay.milliseconds配置参数,否则该扩展模块的功能无法体现。原创 2023-02-16 11:08:46 · 1907 阅读 · 0 评论 -
PostgreSQL数据库安全加固(一)——设置密码复杂度
PostgreSQL数据库密码复杂度设置可以通过安装passwordcheck扩展插件来实现,该插件默认的密码复杂度规则是密码长度必须大于等于8、必须包含字母和非字母、密码不能包含用户名。如果这些规则仍然不能满足你的密码强度要求,那么还可以安装cracklib以及字典来提高密码强度。设置密码复杂度时注意路径和权限,根据报错排查问题。原创 2023-02-15 17:48:36 · 6471 阅读 · 2 评论 -
使用docker部署postgreSQL数据库
随着docker的广泛应用,为了提供便利的管理,PostgreSQL数据库也支持docker的安装方式。下面详细介绍docker安装PostgreSQL数据库的方法。使用docker部署数据库确实很方便,但就目前看来,由于某些原因的限制(具体原因网上查询),生产环境不建议使用docker部署。原创 2023-02-13 17:26:15 · 7464 阅读 · 1 评论 -
PostgreSQL源码编译安装详细教程(linux环境)
本文采用make源码编译安装PostgreSQL方式,尽管相较于yum安装方式,该方式略微复杂,但为了便于管理和维护(例如:便于指定数据库安装目录、修改参数、安装扩展等),故以下详细介绍该安装方式。参照本文可以保证安装程序,路径及配置信息可根据自己需要进行修改。原创 2023-02-13 16:48:04 · 4429 阅读 · 2 评论 -
轻松搞定PostgreSQL数据目录迁移
生产环境中随着PostgreSQL数据库表数据的不断产生,数据库目录会不断增长,当磁盘空间不足时会有将PostgreSQL数据库数据目录迁移到其他目录的需求,下面详细介绍目录迁移过程。若不设置环境变量也可以使用pg_ctl start -D /var/pgsql/data,通过指定新数据目录方式启动。原创 2023-02-13 14:30:38 · 3050 阅读 · 0 评论 -
Python编写PostgreSQL数据库结构比对程序(超详细源代码)
文章目录前言一、功能介绍二、代码目录结构三、核心源代码解析四、完整源代码项目下载总结前言随着PostgreSQL数据库越来越被广泛的应用,它的优势也逐渐被广泛的认可。但针对该数据库的工具却较少。由于工作需要,经常有对PostgreSQL数据库进行比对生成升级脚本的需求,故本人使用python编写了一个PostgreSQL数据库比对程序和大家共同交流学习。(文章的最后将提供源程序的下载地址)一、功能介绍比对程序实现了对两个数据库的结构进行比较并生成差异化更新脚本。比对的内容如下:1、表结构比比原创 2021-08-03 14:44:32 · 1480 阅读 · 0 评论 -
PostgreSQL数据库备份还原全攻略
文章目录前言一、逻辑备份1.pg_dump工具2.pg_dumpall工具二、逻辑备份还原三、连续归档备份四、连续归档恢复总结前言逻辑备份即SQL转储方式,使用pg_dump和pg_dumpall进行备份。逻辑备份在恢复时,介于逻辑备份与故障时间点之间的数据难以恢复,所以逻辑备份适用于留存某个时间点的备份或进行跨平台跨版本的数据迁移。文件系统级备份即拷贝数据文件的完整目录,备份时需要关闭数据库。恢复数据库时,只需将数据目录复制到原来的位置。该方式实际工作中很少使用。连续归档该方式是把一个原创 2021-01-18 09:37:09 · 17799 阅读 · 0 评论 -
轻松搞定PostgreSQL表分区
文章目录前言一、什么是分区表?二、列表分区1.创建主表2.创建分表3.分表创建索引三、范围分区四、分区管理1.断开分区2.连接分区3.删除分区总结前言之前使用PostgreSQL数据库实现表分区需要用继承的方式来实现,还需要定义一个trigger或者rule把对主表的数据插入操作重定向到对应的分区表,极其繁琐。今天,重点介绍PostgreSQL10 以后版本的一个重量级新特性——分区表。一、什么是分区表? 数据库表分区实际上是把一个大的物理表分成若干个小的物理表,并使得这些小物理表在逻辑上可以原创 2020-12-30 17:43:15 · 2542 阅读 · 0 评论
分享