与数据库的关系 在 postgres 中,一个表空间可以让多个数据库使用,而一个数据库也可以使用多个表空间,属于“多对多”的关系; 在 oracle 中,一个表空间只属于一个数据库,而一个数据库可以使用多个表空间...2、表空间的作用 官方解释 通过使用表空间,管理员可以控制一个PostgreSQL安装的磁盘布局。...如果初始化集簇所在的分区或者卷用光了空间,而又不能在逻辑上扩展或者做别的什么操作,那么表空间可以被创建在一个不同的分区上,直到系统可以被重新配置。 表空间允许管理员根据数据库对象的使用模式来优化性能。...能合理利用磁盘性能和空间,制定最优的物理存储方式来管理数据库表和索引 3、应用场景 1)存储磁盘没有空间时,可以使用表空间把数据存到其他地方: 如数据库一般装在root下,root相当于是一个磁盘分区,...4、 系统自带表空间 表空间pg_default是用来存储系统目录对象、用户表、用户表index、和临时表、临时表index、内部临时表的默认空间。
PostgreSQL的基础操作只在psql命令行(客户端)下,执行了一次\l,查看了所有的库信息。可以直接基于psql查看一些信息,也可以基于psql进入到命令行后,再做具体操作。...-- peer代表用当前系统用户去连接PostgreSQL-- 当前系统用户只有postgres,没有laozheng,无法使用peer连接-- 想构建laozheng用户时,发现postgreSQL的所有文件拥有者和所属组都是
PostgreSQL入门介绍一、介绍PostgreSQL是一个功能强大的 开源 的关系型数据库。底层基于C实现。PostgreSQL的开源协议和Linux内核版本的开源协议是一样的。。...BDS协议,这个协议基本和MIT开源协议一样,说人话,就是你可以对PostgreSQL进行一些封装,然后商业化是收费。PostgreSQL的名字咋来的。...PostgreSQL相对MySQL上述问题的特点: PostgreSQL的数据类型嘎嘎丰富。 PostgreSQL是有序列的概念的。 PostgreSQL的插件特别丰富。...PostgreSQL支持主从复制的同步操作,可以实现数据的0丢失。...PostgreSQL的MVCC实现和MySQL不大一样,PostgreSQL一行数据会存储多个版本,最多可以存储40亿个事务版本。
PostgreSQL的数据迁移PostgreSQL做数据迁移的插件非常多,可以从MySQL迁移到PostgreSQL也可以基于其他数据源迁移到PostgreSQL。...这种迁移的插件很多,这里只说一个,pgloader(非常方便)以MySQL数据迁移到PostgreSQL为例,分为几个操作:1、准备MySQL服务(防火墙问题,远程连接问题,权限问题),准备了一个sms_platform...2、准备PostgreSQL的服务(使用当前一直玩的PostgreSQL)3、安装pgloaderpgloader可以安装在任何位置,比如安装在MySQL所在服务,或者PostgreSQL所在服务,再或者一个独立的服务都可以我就在...PostgreSQL所在服务安装# 用root用户下载yum -y install pgloader4、 准备pgloader需要的脚本文件官方文档: Welcome to pgloader’s documentation...— pgloader 3.6.9 documentation记住,PostgreSQL的数据库需要提前构建好才可以。
PostgreSQL的主从操作PostgreSQL自身只支持简单的主从,没有主从自动切换,仿照类似Nginx的效果一样,采用keepalived的形式,在主节点宕机后,通过脚本的执行完成主从切换。...操作方式类似与之前的备份和恢复1、准备环境角色IP端口Master192.168.11.665432Standby192.168.11.675432准备两台虚拟机,完成上述的环境准备修改好IP,安装好PostgreSQL...文件提前构建好归档日志和备份目录,并且设置好拥有者重启PostgreSQL服务 systemctl restart postgresql-124、从节点加入到主节点关闭从节点服务systemctl stop...配置文件的系统其实就是两个: standby.signal文件,这个是从节点开启备份 postgresql.auto.conf文件,这个从节点指定主节点的地址信息 切换就是原主追加上述配置,原从删除上述配追...实现操作:1、rewind需要开启一项配置才可以使用修改postgresql.conf中的 wal_log_hints = 'on'2、为了可以更方便的使用rewind,需要设置一下 /usr/pgsql
PostgreSQL的锁介绍PostgreSQL中主要有两种锁,一个表锁一个行锁PostgreSQL中也提供了页锁,咨询锁,但是这个不需要关注,他是为了锁的完整性。...二、行锁PostgreSQL的行锁和MySQL的基本是一模一样的,基于select for update就可以指定行锁。...PostgreSQL的行锁,就玩俩,一个for update,一个for share。
PostgreSQL的事务介绍一、什么是ACID(常识)在日常操作中,对于一组相关操作,通常要求要么都成功,要么都失败。在关系型数据库中,称这一组操作为事务。...PostgreSQL中,在事务的并发问题里,也是基于MVCC,多版本并发控制去维护数据的一致性。相比于传统的锁操作,MVCC最大的有点就是可以让 读写互相不冲突 。...当然,PostgreSQL也支持表锁和行锁,可以解决写写的冲突问题。PostgreSQL相比于其他数据,有一个比较大的优化,DDL也可以包含在一个事务中。...二、事务的基本使用首先基于前面的各种操作,应该已经体会到了,PostgreSQL是自动提交事务。跟MySQL是一样的。可以基于关闭PostgreSQL的自动提交事务来进行操作。
PostgreSQL基本操作(二)一、字符串类型字符串类型用的是最多的一种,在PGSQL里,主要支持三种: character(就是MySQL的char类型),定长字符串。
本篇是数据库系列的 PostgreSQL 部分,关于 MySQL 之前已经梳理过,可以进行查阅 —— 『MySQL 基础与实践』。...PostgreSQL 安装与配置 PostgreSQL 是一种现代化的开源对象关系性数据库管理系统。...本文以 macOS 系统下的 PostgreSQL 14 为例,在官网安装及进行基本设置后,就可以对本机 PostgreSQL 服务进行管理,版本可能会略有差别,但核心功能差别不大。...图形界面 打开 PostgreSQL.app 应用,可以看到如下界面: 在这个管理界面可以很方便地进行 PostgreSQL 服务的开启与关闭,点击对应的数据库也可以进入命令行操作界面。...的基础知识与实用操作的讲解,希望对你有所帮助。
PostgreSQL的并发问题一、事务的隔离级别在不考虑隔离性的前提下,事务的并发可能会出现的问题: 脏读:读到了其他事务未提交的数据。...如果采用PostgreSQL,他的内部会针对这一行数据保存多个版本,如果数据正在被写入,包就保存之前的数据版本。让读操作去查询之前的版本,不需要阻塞。
PostgreSQL备份和恢复介绍防止数据丢失的第一道防线就是备份。数据丢失有的是硬件损坏,还有人为的误删之类的,也有BUG的原因导致误删数据。...在PostgreSQL中,有三种备份方式:一、SQL备份(逻辑备份) 其实就是利用数据库自带的类似dump的命令,或者是你用图形化界面执行导入导出时,底层就是基于这个dump命令实现的。...三、归档备份:(也属于物理备份) 先了解几个概念,在PostgreSQL有多个子进程来辅助一些操作 BgWriter进程:BgWriter是将内存中的数据写到磁盘中的一个辅助进程。...PostgreSQL也提供了一个全量备份的操作。可以根据WAL日志,选择一个事件点,进行恢复。...-f /archive/%f && cp %p /archive/%f'注意:修改完上述配置文件后,记得重启postgreSQL进程,才会生效归档操作执行时,需要保证/archive存在,并且postgres
PostgreSQL的安装与配置一、PostgreSQL的安装咱们只在Linux中安装,不推荐大家在Windows下安装。Linux的版本尽量使用7.x版本,最好是7.6或者是7.8版本。...postgresql-12# 启动PGSQLsudo systemctl start postgresql-12这种属于Windows下的傻瓜式安装,基本不会出错。...fileid=1258242二、PostgreSQL的配置要搞两个配置信息,一个关于postgreSQL的远程连接配置以及postgreSQL的日志配置。...PostgreSQL要基于配置文件修改,才能制定用户是否可以远程连接。...-122、配置数据库的日志查看postgresql.conf文件postgreSQL默认情况下,只保存7天的日志,循环覆盖。
PostgreSQL备份和恢复实战操作一、逻辑备份与恢复PostgreSQL提供了pg_dump以及pg_dumpall的命令来实现逻辑备份。这两命令差不多,看名字猜的。...这里直接上PostgreSQL提供的pg_basebackup命令来实现。...执行备份 三、物理恢复(归档+物理)模拟数据库崩盘,先停止postgresql服务,然后直接删掉data目录下的全部内容将之前备份的两个文件准备好,一个base.tar,一个pg_wal.tar第一步:...,以及恢复数据的方式第四步:启动postgresql服务systemctl start postgresql-12第五步:启动后,发现查询没问题,但是执行写操作时,出错,不让写。...id恢复基于提供的配置例子,如何指定事务id修改postgresql.auto.conf文件指定好事务ID2.7、启动postgreSQL服务,查看是否恢复到指定事务ID2.8、记得执行会后的函数,避免无法执行写操作
., columnN = valueN WHERE [condition]; SQL基础 SELECT SELECT column FROM table; DISTINCT 找出表内的不同值的情况。...Oracle: CONCAT(), || SQL Server: + MySQL: CONCAT() PostgreSQL: CONCAT(), || PostgreSQL的CONCAT()的语法如下...: concat(str “any” [, str “any” [, …] ]) PostgreSQL的||的语法如下: string || string string || non-string...Oracle: SUBSTR() SQL Server: SUBSTRING() MySQL: SUBSTR(), SUBSTRING() PostgreSQL: SUBSTRING() PostgreSQL...: TRIM(), BTRIM(), LTRIM(), RTRIM() PostgreSQL的TRIM()语法如下: trim([leading | trailing | both] [characters
前言 对于习惯MySQL 权限体系的朋友来说,MySQL 有 数据库,对象层面的权限,而PostgreSQL 多少有些不一样 PostgreSQL 的权限分为四类 : 实例,数据库,schame,对象。...host:使用TCP/IP进行的连接,使用该选项需要在postgresql.conf配置 listen_addresses 选项。不在 listen_addresses 的ip无法访问实例。...同时PostgreSQL还允许用户在别人的schema下创建对象(赋权后),所以一个对象可能属于”两个”owner。...此外,还可以把一个角色A中的权限授予给另一个角色B,创建角色A时必须有 WITH ADMIN OPTION 角色属性 PostgreSQL 数据库的角色具有下面几种属性 login 权限,就是连接数据库的权限...小结 通过本文,我们了解 PostgreSQL 的基础权限体系分为四个层级,实例,数据库,schema,对象以及用户和角色的差异。
vcenter现在只支持postgresql 和 oracle。用了embed的vpostgresql。 有一天忽然发现,vcenter服务连接不上。...登录到服务器后,发现/storage/db空间使用100%。 临时恢复办法,我是这样处理的。 1、给vcenter 挂载一个更大的磁盘,分区,格式化。...使用 SELECT relname, relpages FROM pg_class ORDER BY relpages DESC; 能够查看那个表占用空间最大 我这里是 VPX_EVENT_ARG这个...没办法 truncate VPX_EVENT_ARG; 一下释放了50G空间。。。...目前能想到的办法就是 观察数据库增长的速率,保证足够的空间,写个脚本,定时执行 truncate 相关的表。。。。。。 清除数据的脚本如下 #!
、明明经常用但不知道这是命名空间,只知道这是可以避免冲突和污染的实现方式之一(其他的还有模块、类方式) 这也证明了自己对 Javascript 的一些基础定义不够熟悉 自己的锅自己背,该看的书一本都少不了
阅读顺序 《Postgresql源码(30)Postgresql索引基础B-linked-tree》 《Postgresql源码(31)Btree索引相关系统表和整体结构》 《Postgresql源码(...32)Btree索引分裂前后结构差异对比》 《Postgresql源码(33)Btree索引读——整体流程&_bt_first》 《Postgresql源码(34)Btree索引读——_bt_first...B+树: 4 B*-tree m阶B*树在B+树的基础上增加要求: 非根和非叶子结点增加指向兄弟的指针。...【未满】 [14]对于插入,首先检查节点中是否有一些空闲空间,如果有,则将新key插入节点中。...在B*的基础上增加了指向右兄弟。
放弃不难,但坚持很酷~ PostgreSQL版本:9.6.12 PostGIS版本:2.4.6 一、概述 1.1 PostgreSQL概述 PostgreSQL是一个功能强大的对象关系型数据库管理系统(...PostGIS安装不仅依赖于PostgreSQL,还依赖于很多插件: GEOS几何对象库 GDAL栅格功能 LibXML2 LIBJSON PostGIS的特点如下: PostGIS支持所有的空间数据类型...PostGIS提供了空间操作符(如Union和Difference)用于空间数据操作。...数据库坐标变换 球体长度运算 三维的几何类型 空间聚集函数 栅格数据类型 二、安装 如何安装PostgreSQL + PostGIS请参考:《如何安装PostgreSQL + PostGIS请点击》。...四、总结 本文首先说明了PostgreSQL与PostGIS的基本概念,又罗列了两者的yum安装教程及版本兼容关系,最后讲解了一下PostgreSQL的简单使用及PostGIS的空间查询的简单示例。
领取专属 10元无门槛券
手把手带您无忧上云