代码改变世界

随笔分类 -  postgres

找出PostgreSQL schema变更差异

2022-12-27 13:33 by abce, 191 阅读, 收藏, 编辑
摘要: 管理PostgreSQL的例行操作之一是定期更新数据库系统的架构。PostgreSQL在更新schema、添加type、函数、触发器或修改表添加和删除列、更新列数据类型等方面提供了可靠的方法。但是,没有内置机制来帮助识别差异,更不用说生成必要的SQL,以轻松的方式完成从开发到生产环境的更新。 我们来 阅读全文

【PostgreSQL】PostgreSQL 15移除了Stats Collector

2022-08-28 23:11 by abce, 780 阅读, 收藏, 编辑
摘要: 试用即将发行的PostgreSQL 15的人会发现少了一个后台进程:​ postgres 1710 1 0 04:03 ? 00:00:00 /usr/pgsql-15/bin/postmaster -D /var/lib/pgsql/15/data/ postgres 1711 1710 0 04 阅读全文

【PostgreSQL】连接到PostgreSQL Server

2022-08-18 22:50 by abce, 177 阅读, 收藏, 编辑
摘要: 连接pg需要指定以下的参数: ·主机地址 ·端口 ·数据库名 ·用户 ·密码 如果没有指定上面的参数的话,pg会从环境变量中寻找以下的变量值: ·PGHOST或PGHOSTADDR ·PGPORT ·PGDATABASE ·PGUSER ·PGPASSWORD 如果只是指定了前面四个参数,pg会尝试 阅读全文

【PostgreSQL]PostgreSQL数据库层限流脚本

2022-07-22 21:05 by abce, 194 阅读, 收藏, 编辑
摘要: with tmp3 as (select count(*) as cnt from pg_stat_activity WHERE pid <> pg_backend_pid() and datname='mypg1' and usename='postgres' and state='idle' a 阅读全文

【PostgreSQL 15】PostgreSQL 15对UNIQUE和NULL的改进

2022-07-21 23:00 by abce, 1053 阅读, 收藏, 编辑
摘要: 用一句话来总结这种改进就是: 支持唯一性约束和索引将null值视为相同的值。之前是将null值索引成不同的值,现在可以通过使用unique nulls not distinct创建约束,将null值视为相同的值。 两种unique风格 创建示例表: CREATE TABLE null_old_sty 阅读全文

【PostgreSQL 15】PostgreSQL 15对distinct的优化

2022-07-17 11:34 by abce, 1153 阅读, 收藏, 编辑
摘要: 示例表 table t_ex; c1 | c2 + 2 | B 4 | C 6 | A 2 | C 4 | B 6 | B 2 | A 4 | B 6 | C 2 | C 以下SQL语句有序地返回"c1"列中唯一值: select distinct on(c1) * from abce; 对于c2列 阅读全文

Docker安装PostgreSQL

2022-07-16 13:42 by abce, 395 阅读, 收藏, 编辑
摘要: 安装docker 下载阿里源repo文件 curl -o /etc/yum.repos.d/Centos-7.repo http://mirrors.aliyun.com/repo/Centos-7.repo curl -o /etc/yum.repos.d/docker-ce.repo http: 阅读全文

PostgreSQL和MySQL中的explain和执行优化

2022-07-16 09:41 by abce, 395 阅读, 收藏, 编辑
摘要: 除了传统和JSON之外,PostgreSQL中添加了XML和YAML格式选项。至少在我看来,PostgreSQL输出看起来像MySQL的TREE输出。 以下示例提供了详细信息,例如服务器将用于获取数据的机制、启动成本、总成本、要返回的行数以及使用的键的名称(如果有)。 test=# EXPLAIN 阅读全文

【PostgreSQL】PostgreSQL的复制和冲突

2022-07-09 09:09 by abce, 420 阅读, 收藏, 编辑
摘要: PostgreSQL复制技术的演变 WAL日志 2001年V7.1引入WAL日志。 warm standby(即日志传输) 2006年V8.2引入warm standby(也叫warm standby日志传输),引入了持续归档和持续recover的概念。 在standby端,会持续不断的执行reco 阅读全文

【PostgreSQL】PostgreSQL开启ssl/tls

2022-07-08 23:44 by abce, 4923 阅读, 收藏, 编辑
摘要: 没有Cert/Key文件时开启SSL/TLS 来看看在没有证书或keys文件的场景下,开启SSL/TLS: postgres=# show ssl; ssl off (1 row) postgres=# alter system set ssl=on; ALTER SYSTEM postgres=# 阅读全文

理解数据库的高可用性

2022-07-08 23:44 by abce, 693 阅读, 收藏, 编辑
摘要: 保证数据库的高可用不止是平常事务,而是首要任务。(Ensuring that databases are highly available is not just a thing these days, it’s the thing. ) 无论是计划内的还是计划外的停机,对终端用户来说都是很难接受的 阅读全文

【PostgreSQL】找出和停止正在执行的查询

2022-07-06 20:55 by abce, 3002 阅读, 收藏, 编辑
摘要: 1.找出对应的pid SELECT pid, state, backend_start, substr(query, 0, 100) q FROM pg_stat_activity WHERE backend_type = 'client backend' ORDER BY backend_star 阅读全文

【PostgreSQL】PostgreSQL的WAL日志归档的压缩

2022-07-06 13:20 by abce, 621 阅读, 收藏, 编辑
摘要: 随着硬件和软件的发展,数据库的瓶颈也发生了转移。很多老的问题可能消失了,也有新的问题出来了。 老的限制 以前是CPU和内存受到限制。十多年前,4核服务器是“高端”服务器,作为DBA,我最担心的是管理可用资源。Oracle尝试使用RAC架构为单个数据库从多个主机集中CPU和内存是解决这个问题的一个很好 阅读全文

【PostgreSQL】PostgreSQL中的序列

2022-07-05 07:07 by abce, 1647 阅读, 收藏, 编辑
摘要: PostgreSQL中的序列可以当作MySQL中的auto_increment来使用,但是序列并不是仅仅用于自增列。也就是说: PostgreSQL SERIAL != MySQL SERIAL 第一,PostgreSQL提供了一个serial数据类型。有smallserial、serial、big 阅读全文

【PostgreSQL】PostgreSQL内存使用高该检查哪些内容

2022-07-02 18:57 by abce, 735 阅读, 收藏, 编辑
摘要: PostgreSQL中内存的分类 1.首先使用top命令查看进程对内存的使用 2.查看操作系统和postgresql的日志 3.使用pg_top 4.检查参数配置​ shared_buffers work_mem max_connections temp_buffers maintenance_wo 阅读全文

【PostgreSQL】PostgreSQL的vacuum调优和客户化调度vacuum任务

2022-07-01 21:20 by abce, 1037 阅读, 收藏, 编辑
摘要: PostgreSQL内嵌的autovacuum一直在改进,但是在很多客户环境下,仍然有很多不满足的地方。 常见的问题和限制 1.在系统高峰时期,表成了autovacuum的候选对象 autovacuum的设置是基于一些扩展因子和阈值的。在高峰期,如果表上有大量的事务,就很容易超过这些设置。实际上是在 阅读全文

【PostgreSQL】PostgreSQL将异步复制转换成同步复制

2022-06-30 09:04 by abce, 473 阅读, 收藏, 编辑
摘要: 1.主库修改配置 postgresql.conf指定同步的节点 这里的standby server名称是从库的recovery.conf文件中指定的application_name synchronous_standby_names ='pgsql_0_node_0' synchronous_com 阅读全文

【PostgreSQL】PostgreSQL复制的监控

2022-06-30 09:04 by abce, 1004 阅读, 收藏, 编辑
摘要: 创建物理复制槽:(在master端执行) postgres=# select pg_create_physical_replication_slot('abce'); 删除复制槽: postgres=# select pg_drop_replication_slot('abce'); 1.主库端 ( 阅读全文

【PostgreSQL】PostgreSQL复制延迟该检查哪些内容

2022-06-30 09:03 by abce, 888 阅读, 收藏, 编辑
摘要: 1.在主节点查看 select * from pg_stat_replication; 2.在从节点查看 版本10之前: select pg_is_in_recovery(),pg_last_xlog_receive_location(), pg_last_xlog_replay_location( 阅读全文

【PostgreSQL】PostgreSQL中public schema的权限和安全

2022-06-29 09:26 by abce, 7667 阅读, 收藏, 编辑
摘要: 在初始数据库创建时,新创建的数据库包含一个名为“public”的预定义schema。 查看schema和schema上的特权: mydb=# \dn+ List of schemas Name | Owner | Access privileges | Description + + + publi 阅读全文
上一页 1 2 3 4 5 6 ··· 10 下一页
点击右上角即可分享
微信分享提示