PostgreSQL入门介绍一、介绍PostgreSQL是一个功能强大的 开源 的关系型数据库。底层基于C实现。PostgreSQL的开源协议和Linux内核版本的开源协议是一样的。。...BDS协议,这个协议基本和MIT开源协议一样,说人话,就是你可以对PostgreSQL进行一些封装,然后商业化是收费。PostgreSQL的名字咋来的。...PostgreSQL相对MySQL上述问题的特点: PostgreSQL的数据类型嘎嘎丰富。 PostgreSQL是有序列的概念的。 PostgreSQL的插件特别丰富。...PostgreSQL支持主从复制的同步操作,可以实现数据的0丢失。...PostgreSQL的MVCC实现和MySQL不大一样,PostgreSQL一行数据会存储多个版本,最多可以存储40亿个事务版本。
PostgreSQL的事务介绍一、什么是ACID(常识)在日常操作中,对于一组相关操作,通常要求要么都成功,要么都失败。在关系型数据库中,称这一组操作为事务。...PostgreSQL中,在事务的并发问题里,也是基于MVCC,多版本并发控制去维护数据的一致性。相比于传统的锁操作,MVCC最大的有点就是可以让 读写互相不冲突 。...当然,PostgreSQL也支持表锁和行锁,可以解决写写的冲突问题。PostgreSQL相比于其他数据,有一个比较大的优化,DDL也可以包含在一个事务中。...二、事务的基本使用首先基于前面的各种操作,应该已经体会到了,PostgreSQL是自动提交事务。跟MySQL是一样的。可以基于关闭PostgreSQL的自动提交事务来进行操作。
PostgreSQL的锁介绍PostgreSQL中主要有两种锁,一个表锁一个行锁PostgreSQL中也提供了页锁,咨询锁,但是这个不需要关注,他是为了锁的完整性。...二、行锁PostgreSQL的行锁和MySQL的基本是一模一样的,基于select for update就可以指定行锁。...PostgreSQL的行锁,就玩俩,一个for update,一个for share。
当一段中间所有空间已完全使用,PostgreSQL为该段分配一个新的范围。...下面分别进行介绍。数据文件(表文件) 顾名思义,数据文件用于存储数据。...查看postgresql.conf文件的配置可以看到相关的参数设置。...下面分别进行介绍:① postgresql.conf PostgreSQL的主要参数文件,有很详细的说明和注释,和Oracle的pfile,MySQL的my.cnf类似。默认在PGDATA下。...postgresql.conf文件中与之相关的参数三、内存结构 PostgreSQL的内存结构,分为:本地内存和共享内存。
PostgreSQL备份和恢复介绍防止数据丢失的第一道防线就是备份。数据丢失有的是硬件损坏,还有人为的误删之类的,也有BUG的原因导致误删数据。...在PostgreSQL中,有三种备份方式:一、SQL备份(逻辑备份) 其实就是利用数据库自带的类似dump的命令,或者是你用图形化界面执行导入导出时,底层就是基于这个dump命令实现的。...三、归档备份:(也属于物理备份) 先了解几个概念,在PostgreSQL有多个子进程来辅助一些操作 BgWriter进程:BgWriter是将内存中的数据写到磁盘中的一个辅助进程。...PostgreSQL也提供了一个全量备份的操作。可以根据WAL日志,选择一个事件点,进行恢复。...-f /archive/%f && cp %p /archive/%f'注意:修改完上述配置文件后,记得重启postgreSQL进程,才会生效归档操作执行时,需要保证/archive存在,并且postgres
Postgresql中的游标 Postgresql中游标有两种: SQL中直接调用游标使用:https://www.postgresql.org/docs/current/sql-declare.html...包装在PLPGSQL中的游标:https://www.postgresql.org/docs/current/plpgsql-cursors.html 本篇重点介绍第二种PLPGSQL中的游标。...下面介绍了三种游标声明的方式,分别给出了三种游标的Open方式,主要区别就是 有没有绑定SQL:curs1 refcursor; 和 curs2 CURSOR FOR SELECT c1 FROM
原文:https://www.enmotech.com/web/detail/1/774/1.html 导读:本文为大家讲述了PostgreSQL数据库的用户及角色,希望对刚接触PostgreSQL数据库的朋友们有帮助...一、角色 ---- PostgreSQL使用角色的概念:管理数据库访问权限。根据角色自身的设置不同,一个角色可以看做是一个数据库用户,或者一组数据库用户。
PostgreSQL基本操作和数据类型介绍一、单引号和双引号在PGSQL中,写SQL语句时,单引号用来标识实际的值。双引号用来标识一个关键字,比如表名,字段名。
上一篇文章《PostgreSQL的元组、页面结构及索引查找原理》中介绍了postgresql数据库数据结构和索引查找过程,本文接着继续介绍下堆内元组和动态剪枝技术,这两个技术其实是相辅相成的。...pg为了避免这个问题,从8.3版本开始采用HOT(heap only tuple)解决这个问题,下面简单介绍一下技术原理。...前一篇文章介绍过,在元组结构的t_informask2字段中有两个标记位,heap_hot_update和heap_only_tuple,在更新tuple1时,postgresql会将tuple1(老元组...tuple1 4.发现tuple1的标记位是heap_hot_update,表明该元组是经过hot更新的元组,并不是真实要读取的数据,于是通过tuple1的t_ctid字段读取tuple2(上一篇文章也介绍过...tuple1和tuple2两个数据块,这时我们可能会考虑到一个问题,因为tuple1是旧元组,它会在合适时机被vacuum掉,这时就无法通过tuple1的ctid字段定位到tuple2了,为了解决这个问题,postgresql
LENGTH('egg'); 2、合并字符串CONCAT(s1,s2,…),CONCAT_WS(x,s1,s2,…) 使用CONCAT函数连接字符串,输入语句如下: SELECT CONCAT('PostgreSQL...', 3); 8、替换函数REPLATE(s,s1,s2) 使用REPLACE函数进行字符串替代操作,输入语句如下: SELECT REPLACE('xxx.PostgreSQL.com', 'x',...rn] END; 使用CASE WHEN语句执行分支操作,输入语句如下: SELECT CASE WHEN 1<0 THEN 'true' ELSE 'false' END; 系统信息函数 1、获取PostgreSQL...版本号 查看当前PostgreSQL版本号,输入语句如下: SELECT VERSION(); 2、获取用户名的函数 获取当前登陆用户名称,输入语句如下: SELECT USER, CURRENT_USER...在PostgreSQL中,日期和时间是以字符串形式存储在数据表中,可以截取字符串,如dt = ‘2020-03-01 12:30:30’,则可以输入left(dt, 4)截取年份,输入mid(dt, 6
当一段中间所有空间已完全使用,PostgreSQL为该段分配一个新的范围。...下面分别进行介绍。数据文件(表文件)顾名思义,数据文件用于存储数据。...日志文件PostgreSQL日志文件的类型,分为以下几种: ① 运行日志(pg_log) 默认没有开启,开启后会自动生成。查看postgresql.conf文件的配置可以看到相关的参数设置。...下面分别进行介绍: ① postgresql.conf PostgreSQL的主要参数文件,有很详细的说明和注释,和Oracle的pfile,MySQL的my.cnf类似。默认在$PGDATA下。...但在默认情况下,PostgreSQL是非归档模式,因此看不到PgArch进程。
1 语法介绍 insert on conflict语法实现了upsert的功能,即在插入发生主键冲突、或唯一约束冲突时,执行on conflict后面的语句,将insert变成update或do nothing...语法手册:https://www.postgresql.org/docs/current/sql-insert.html 测试用例: drop table decoding_test; CREATE TABLE...XLOG_HEAP_CONFIRM 情况二: 第一条XLOG_HEAP_INSERT 第二条XLOG_HEAP_DELETE 情况三: 第一条XLOG_HEAP_HOT_UPDATE ---- 下一篇继续介绍这几种日志被逻辑复制解析后的情况
#PostgresqlPostgreSQL Index Types | 6 Types of Index available in PostgreSQL (educba.com)PostgreSQL Index...PostgreSQL 索引在 PostgreSQL 中非常重要和有用,能以最快速度访问表中的数据。...We can create single and multiple indexes in PostgreSQL. 我们可以在 PostgreSQL 中创建单索引和多索引。...The PostgreSQL index is the same as the index of the book. PostgreSQL 索引有助于从表中高效检索数据。...PostgreSQL GIST 索引可以构建整体树形结构。GiST 索引适用于 PostgreSQL 中的几何数据类型和完全搜索。
二 安装 postgresql了解的主要原因是因为腾讯很多招聘都有要求,那么不管怎么说crud折腾一次是必要的 但是这玩意好像他们都不更新几年了.......我把自己的猜测说一下 早期postgresql性能优于mysql,甚至有博客说是mysql的三倍。...但是在mysql 5.5就被追平,5.7反超,所以说腾讯用postgresql是历史原因,postgresql的开源团队毕竟几年都没更版本了。 postgresql在多年前就支持json。...mysql还没有,那么只要不引入其他支持json的等postgresql还是有一战之力的,但是5.7mysql也支持了......那么除去性能除去json,腾讯同时使用这两数据库的原因估计就是postgresql在高压环境下性能并没有下降,而myql明显下降。还有各种数据格式的支持。sql编程能力强。
图形化界面安装与数据类型介绍 一、图形化界面安装 图形化界面可以连接PGSQL的很多,Navicat(收费)。 也可以直接使用PostgreSQL官方提供的图形化界面。...(完全免费) 官方提供的:pgAdmin - PostgreSQL Tools 直接点击就可以下载即可。...https://www.postgresql.org/ftp/pgadmin/pgadmin4/v6.9/windows/ 其实就是傻瓜式安装,非常简单。
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的数据库需要提前构建好才可以。
概述 Prometheus使用postgresql需要使用postgresql-adapter进行数据转换。...在安装postgresql-adapter之前需要安装2个扩展:pg_prometheus和timescaledb 官方推荐使用PostgreSQL, pg_prometheus,和TimescaleDB...打包在一起的容器,但对于使用已有的postgresql来说并不合适,故需要手动编译安装。...---- 环境准备 使用os为:redhat 7.4 假设已经安装好postgresql,本次使用的postgresql版本为11.1,安装路径为:/usr/pgsql-11/bin/。.../llvm-7.1.0.src # make -j 4 # make install 安装postgresql devel 从官网下载并安装postgresql11-devel-11.2-2PGDG.rhel7
PostgreSQL的基础操作只在psql命令行(客户端)下,执行了一次\l,查看了所有的库信息。可以直接基于psql查看一些信息,也可以基于psql进入到命令行后,再做具体操作。...-- peer代表用当前系统用户去连接PostgreSQL-- 当前系统用户只有postgres,没有laozheng,无法使用peer连接-- 想构建laozheng用户时,发现postgreSQL的所有文件拥有者和所属组都是
Source Relational Database ubuntu download and installation sudo apt-get update sudo apt-get install postgresql...sudo apt-get install postgresql-client # sudo apt-get install postgresql-contrib # sudo apt-get install...start # 关闭服务 sudo /etc/init.d/postgresql stop # 重启服务 sudo /etc/init.d/postgresql restart # 远程访问 # listen_addresses...='*' sudo vi /etc/postgresql/9.5/main/postgresql.conf # 密码控制 # host all all 0.0.0.0/0 md5 sudo vi /...etc/postgresql/10/main/pg_hba.conf Django settings.py DATABASES = { 'default': { 'ENGINE'
一、进入PostgreSQL数据库 Linux下切换到postgres用户,执行psql即可进入 $ su postgres bash-4.4$ psql 此时就进入postgres数据库了。...删除表中某行数据: delete from [表名] where [该行特征]; delete from [表名]; // 删空整个表 如备份test数据库:pg_dump test>/opt/Postgresql
领取专属 10元无门槛券
手把手带您无忧上云