![](https://img-blog.csdnimg.cn/20201014180756927.png?x-oss-process=image/resize,m_fixed,h_64,w_64)
pgsql数据库使用
fgh431
非淡泊无以明志
展开
-
psql -d temp 时候的txid_current!
这样就链接到了temp数据库了ztz123@ubuntu:~$ psql -d temppsql (11.2)Type "help" for help.temp=# select txid_current(); txid_current -------------- 645(1 row)temp=# select txid_current(); txid_current -------------- 646(1 row)看到没,上面.原创 2021-01-19 12:24:14 · 296 阅读 · 0 评论 -
我关于函hashoin的著名论断
首先你需要确定你到底hash表藏的是啥?hashjoin里大多数时候需要hash元组啊! 所以你的预先申请一个大块(1MB)大块里面有好多个大桶!每个大桶最多放10个元组 每新来一个需要hash的元组,我都需要决定把他投入到哪个大桶里 问题来了!纳如何解决冲突呢?总之你只要知道hash是要求必须可以解决冲突!这个是hash的一般性都会遇到的问题!...原创 2021-01-18 17:15:31 · 121 阅读 · 0 评论 -
perf搞一搞PG执行SQL语句的各个函数用时分析
explain analyze select * from TEST_A,TEST_B where TEST_A.id2=TEST_B.id2 and TEST_A.id3>2*TEST_B.id2;--------------------------------------- Hash Join (cost=280.00..891955.01 rows=17690222 width=32) (actual time=7.703..15004.842 rows=13345214 loops=1原创 2021-01-17 20:12:08 · 432 阅读 · 1 评论 -
tpc
文章目录TPC-CTPC-H网址TPC-CJuly 1992on-line transaction processing benchmark.more complex than previous OLTP benchmarks such as TPC-Aits multiple transaction types,more complex databaseoverall execution structure.involves a mix of five concurrent tra原创 2021-01-17 17:04:29 · 217 阅读 · 0 评论 -
cat PostgreSql的表内容
insert into test1 values(12,'dfg',32);insert into test1 values(2,'gfdgfdg',32);insert into test1 values(162,'fgdgd',3);insert into test1 values(162,'sgfg',302);insert into test1 values(1332,'sghfh',2);上面四条语句插入后形成一个表文件这个表文件就是16385我现在要打印他啦ztz123原创 2021-01-16 18:15:10 · 164 阅读 · 0 评论 -
数据库后端进程是如何接收到前端的SQL语句呢?
文章目录数据库后端进程是如何接收到前端的SQL语句呢?缓存未命中时候的系统调用数据库后端进程是如何接收到前端的SQL语句呢?首先我捕捉到了处理我这个连接的后端进程是3561!test=# select pg_backend_pid(); pg_backend_pid ---------------- 3561(1 row) 然后我就在另一个窗口执行sudo strace -p 3561这样他就显示Process 3561 attachedepo原创 2021-01-16 16:36:40 · 441 阅读 · 0 评论 -
pg_attribute系统表藏着每一个属性列!
首先数据库中的每个表的属性,都会出现在系统表中!这样才能解释躺在磁盘上的表数据!test库下面的test1表test=# test=# select * from test1; id1 | id2 | id3 ------+---------+-----(5 rows) 我就可以在test这个库下面执行这个sql语句例如看看test1的id1列的信息呐!postgres=# \c test;You are now connected to databa.原创 2021-01-16 16:23:54 · 364 阅读 · 0 评论 -
磁盘数据库啊和内存数据库是啥?
文章目录坐而论道caici坐而论道原来PostgreSQL是个磁盘数据库啊!沃特玛一直以为是内存数据库呢!caici百度文库记载的内存数据库与磁盘数据库原创 2020-12-21 18:28:02 · 252 阅读 · 0 评论 -
PG的那些参数都在postgresql.conf这个文件
就在postgresql.conf这个文件里啊!例如!#enable_material = on#enable_mergejoin = on#enable_nestloop = on#enable_parallel_append = on原创 2020-12-11 11:31:53 · 173 阅读 · 0 评论 -
在我公司的虚拟机上测试PG性能
文章目录在我公司的虚拟机上测试PG性能在我公司的虚拟机上测试PG性能create database temp;\c tempcreate table TEST_A(id1 int ,id2 int ,id3 int ,id4 int);insert into TEST_A select generate_series(1,10000),floor(random()*100),floor(random()*100),floor(random()*100);create table TEST_B(原创 2020-09-21 11:00:33 · 390 阅读 · 0 评论 -
pg的后台进程有些啥?
文章目录pg的后台进程有些啥?grep的作用就是把那些行找i出来!!pg的后台进程有些啥?大家看,刚开始没进程啊 执行pg_ctl -D ~/Desktop/psqldata/ -l ~/Desktop/logfile start现在呢?怎么跑出来这么多啊 开启一个连接再看看新增加的这个是不是就是select pg_backend_pid();产生的呢?实验表明的确是的grep的作用就是把那些行找i出来!!...原创 2020-09-04 19:57:02 · 1613 阅读 · 0 评论 -
我用GDB调试Pg时候的惨痛经历
文章目录我用GDB调试Pg时候的惨痛经历实际演示一下我用GDB调试Pg时候的惨痛经历我一直知道ps -a可以显示一些进程的pid我故作聪明以为这个就是我要gdb postgres + PID的PID结果就错在这里了应该是你输入select pg_backend_pid()时候的进程啊!!实际演示一下刚开始是这样的啊 接着右边按Enter错了错了,右边记得加上sudo啊 由于我想看看add_paths_to_joinrel时候的outerrel和innerrel原创 2020-09-04 19:13:17 · 490 阅读 · 0 评论 -
2020年-8月31日的安装pgsql数据库
文章目录2020年-8月31日的安装pgsql数据库2020年-8月31日的安装pgsql数据库下载源码 tar -zxvf postgresql-11.2.tar.gz出来这个啦 sudo apt-get install zlib1g-devsudo apt-get install libreadline6 libreadline6-devcd postgresql-11.2/./configure 然后make编译啦然后make install安装吧默认安装到原创 2020-08-31 16:58:43 · 294 阅读 · 0 评论 -
gdb调式pg
文章目录用gdb调式pg取源码希望后面能跟踪代码的运行路径,输入configure安装好postgresql程序,接下来配置。接下来初始化数据库,用initdb命令pg_ctl startpsql -h 127.0.0.1 -d postgres -U postgre设置下psql开机启动。postgresql的目录结构src目录backend利用gdb调试postgresql参考链接用gdb调...原创 2020-05-02 21:04:00 · 914 阅读 · 0 评论 -
pg的扩展究的_PG_init函数究竟啥时候执行+原来是这样啊
文章目录pg的扩展究的_PG_init函数究竟啥时候执行我对plpgsql扩展更改如下我开始编译啦pg的扩展究的_PG_init函数究竟啥时候执行我对plpgsql扩展更改如下我开始编译啦事实表明在同一个链接中不断drop create的话,那么那个init不会重新执行哦 那我关闭重新链接呢?如果create已经有了的话断掉重开也还是不执行啊 如...原创 2020-04-25 22:01:08 · 1099 阅读 · 1 评论 -
ubuntu-14.04.6-desktop-amd64安装pg11.2的源代码
文章目录ubuntu-14.04.6-desktop-amd64安装pg11.2的源代码运行./configure命令make & make install妈的,这下终于有那个pgxs.mk下一步,初始化数据库至此完毕哈哈哈ubuntu-14.04.6-desktop-amd64安装pg11.2的源代码进去源码目录运行./configure命令./configure --...原创 2020-04-25 18:27:03 · 346 阅读 · 0 评论 -
终于找到了一个可以编译扩展的版本啦+pg扩展的神奇东西
文章目录终于找到了一个可以编译扩展的版本啦就是这个版本‘安装它这个exe都是只要链接就好,不要启东服务器这下有了那个狗东西了如果我直接make那个狗东西下面我要改一改终于找到了一个可以编译扩展的版本啦就是这个版本‘ 安装它注意中间那个数据库目录不要改啊啊!!!!!!!这个exe都是只要链接就好,不要启东服务器这下有了那个狗东西了如果我直接make那个狗东西他还是报...原创 2020-04-24 23:22:41 · 249 阅读 · 1 评论 -
Pg 的表空间
文章目录Pg 的表空间Pg 的表空间如果不建立自己的表空间,建表时,也不指定表空间。那么Pg不会建立你的表空间,所建立的表,都放入缺省表空间查询:postgres=# select * from pg_tablespace; spcname | spcowner | spcacl | spcoptions ------------+----------+--------+-...原创 2020-03-20 11:16:59 · 369 阅读 · 0 评论 -
Pg BRIN索引
文章目录例子:测试性能9.5增加brin索引,存储被索引字段在块级别的边界值(最大值、最小)及其他统计信息。BRIN索引扫描原理简单,扫描BRIN的元数据,根据元数据和用户输入的条件比较,过滤不符合条件的HEAPPAGE,只扫描需要扫描的HEAPPAGE brin索引仅仅适合存储与值线性相关性很好的列例子:创两张表,一张表插入线性相关很好的数据,另一张插入离散...原创 2020-03-17 15:36:32 · 373 阅读 · 0 评论 -
pgsql扩展全在这里
文章目录Writing Postgres Extensions - the Basicsbase36The Extension SkeletonMakefilehttps://www.cnblogs.com/taceywong/p/11269408.htmlWriting Postgres Extensions - the Basicsfirst articleaboutext...原创 2020-03-02 12:30:03 · 2453 阅读 · 0 评论 -
pgsql涉及并行的
文章目录优化器并行计算的并行度计算方法优化器是否选择并行计算优化器并行计算的并行度计算方法1、总worker进程数postgres=# show ; max_worker_processes ---------------------- 128 (1 row)2、所有会话,在同一时刻的QUERY,并行计算最大允许开启的WORKER数。...原创 2020-03-01 16:21:18 · 478 阅读 · 0 评论 -
Parallel Append
文章目录Pg 11 preview - Parallel Append (多表并行计算) sharding架构并行计算核心功能之一...背景parallel append 参数开关测试生成测试数据1、创本地分区表2、写入1亿3 设置分区并行度为0,防止单个分区并行扫描太快,看不出性能差异。参考链接Pg 11 preview - Parallel Append (多表并行计算) sharding架...原创 2020-03-01 14:45:06 · 542 阅读 · 0 评论 -
partition-wise join
文章目录参考链接11 提供两个分区级别的新功能:智能分区连接对两个分区方式相同的分区表,如果用分区键等值连接,允许使用匹配的分区直接进行连接操作。partition-wise aggregation,对于分区表的聚合,如果 GROUP BY 中含分区键,允许针对各个分区进行并行的聚合操作,然后再合并结果。 enable_partitionwise_join,...原创 2020-02-27 16:41:44 · 730 阅读 · 0 评论 -
postgres_fdw
文章目录1 简介2 使用postgres_fdw2.1 添加扩展2.2 创建server2.3 create user mapping2.4 创建外部表2.5 查看数据2.6 执行计划参考链接1 简介postgres_fdw扩展可以以外部表的方式在本地访问远程PG库里面的表。2 使用postgres_fdw测试环境是两个虚拟机。源库: 192.168.17.11 postg...原创 2020-02-21 15:49:51 · 1194 阅读 · 0 评论 -
如何优雅的下载安装pgsql
文章目录下载安装postgresql-12.1打开看看长啥样子他妈的,把他复制到D盘下载安装postgresql-12.1https://www.enterprisedb.com/download-postgresql-binaries打开看看长啥样子他妈的,把他复制到D盘...原创 2020-01-04 16:24:47 · 1729 阅读 · 1 评论 -
zip archive 形式的pg咋安装+编译postgres
这里写自定义目录标题1进入目录2 编译1进入目录C:\Users\YSA11\Desktop\ztz\postgresql-11.2\src\tools\msvc2 编译perl build.pl DEBUG原创 2019-08-19 10:43:25 · 273 阅读 · 0 评论 -
电脑上的psql如何启动 和 我的测试sql语句
我的安装在了目录D:\pgdbD:\pgdb\data是数据库位置哦现输入D:\pgdb\binpg_ctl -D D:\pgdb\data start开启服务器然后输入psql -d postgres开启连接啦!!如下图:再输入\q不要“;”号,就又回到命令行了。...原创 2019-06-22 07:32:33 · 804 阅读 · 0 评论 -
pgsql常用命令
连接上之后,可以进行下面运动#创建用户CREATE USER username1 WITH [OPTION] //自带登陆权限CREATE ROLE username1 WITH [OPTION] //不带登陆权限,需用户自行添加#删除用户DROP USER username1DROP ROLE username1#查看所有用户\du\l 列出所有数据库 ...原创 2019-06-22 08:00:51 · 5056 阅读 · 0 评论 -
pgsql查询进程ID和关掉mergejoin和hashjoin
select pg_backend_pid()set enable_mergejoin to off;set enable_hashjoin to off;原创 2019-06-22 08:35:09 · 1498 阅读 · 0 评论 -
windows10下用vs2013编译安装pgsql11.1源码
第负3步安装perl,这个简单啊,点击这个你就会了安装vs2013,你会的第负2步安装diff,点击网址,下载安装就好啦,一切默认来。默认安装在"C:\Program Files (x86)\GnuWin32"下面就是了。第负1步安装flex和bison,flex网址bison网址都是下载第一个。你会发现diff,flex和bison都安装在了一个地方,我的是下面这样...原创 2019-06-22 11:06:03 · 1182 阅读 · 0 评论 -
vs2013调式pgsql11.2源码(2)
修改代码后这可以点击生成解决方案,不可以点击重新生成原创 2019-06-27 09:51:35 · 213 阅读 · 0 评论 -
pgsql的连接类型+可以explain后加analyze
以T1 JOIN T2为例Inner Join:Left Outer Join:找不到可连接T2元组的T1元组,用空值元组与T1之连接Right Outer Join:找不到可连接T1元组的T2元组,用个空值元组与T2连接Full Outer Join:Semi Join:返回该T1元组,但并不与匹配的T2元组连接Anti Join:当T1的一元组在T2中未能找到满足连接条件的元组时...原创 2019-07-14 08:42:28 · 795 阅读 · 0 评论 -
pgsql9.1的18.8 error reporting和logging
18.8.1where to loglog_destination (string)supports several methods for logging server messages, including stderr, csvlog and syslog.On Windows, eventlog is also supported.Set this parameter t...原创 2019-07-14 14:27:00 · 234 阅读 · 0 评论 -
pgsql9.1的18.7 Query Planning
Planner Method Configuration18.7.1. Planner Method ConfigurationThese configuration parameters provide a crude method of influencing the query plans chosen by the query optimizer.If the default pl...原创 2019-07-14 14:54:05 · 251 阅读 · 0 评论 -
linux如何启动pgsql数据库
/usr/local/postgresql/bin/initdb -D /var/postgresql/data其中第一个东西是initdb程序的位置,后面的是数据库目录哦!\\\\\/usr/local/postgresql/bin/pg_ctl -D /var/postgresql/data -l /var/postgresql/logfile start其中第一个是pg_ct...原创 2019-05-31 20:29:26 · 18416 阅读 · 0 评论