建议内容:我有一个postgresql数据库,我想把其中一个表的数据实时的抓取,并写入在异地的另一个postgresql服务器。请问要如何实现呢?
处理结果:对于PostgreSQL10版本,可以使用逻辑复制的功能。PG的逻辑复制,是一种类似消息队列的发布、订阅的模式,需要先把要抓取的表在源端加到发布中,然后在异地的另一个postgresql服务器对这此发布的表进行订阅。这样两张表的内容就同步起来了。
4 |
xhbdfh | 2018-07-18 15:58:33+08 | 其他
| | |
建议内容:QQ群2:100910388 <<<< 没有找到符合搜索条件的QQ群
QQ群3:150657323 <<<< 满员。无法加入。。。
请管理员处理下哈,谢谢
| 5 |
qq:2518709350 | 2018-06-27 19:24:07+08 | 内容问题
| | |
建议内容:@楼上的兄弟
聚集表在插入的性能上是比不上堆表的。
| 6 |
撒范德萨发收到 | 2018-06-27 19:23:46+08 | 建议
| | |
建议内容: 大 啥的发送的啊发送的
| 7 |
QQ315054403 | 2018-06-27 14:56:01+08 | 建议
| | |
建议内容:为啥PostgreSQL不提供聚集结构,而一定是堆结构?
太多场景里聚集结构性能、维护效率都会更好
新的版本 11 甚至 12 会带来聚集结构么?
| 8 |
jianghz | 2018-06-26 14:51:23+08 | Bug
| | |
建议内容:1,假设有一个表
结构和索引如下:
create table test1(ID BIGINT,name varchar(10),age int,addr varchar(128));
插入测试数据:
insert into test1 select i,'name'||i,100,substr(md5(random()::text),1,30) from generate_series(1,1000000) as t(i);
-- 创建组合索引,ID + NAME
create index idx_test_id_name on test1(id ,name);
analyze test1;
2,分页查询语句
-- sql语句:
select id,name from test1 where id between 1000 and 10000 and name in ('name1','name2','name3')
order by id desc limit 24;
-- 执行计划显示
explain (analyze,buffers) select id,name from test1 where id between 1000 and 10000 and name in ('name1','name2','name3')
order by id desc limit 24;
Limit (cost=0.42..10879 rows=1 width=51) (actual time=35.174..35.174 rows=0 loops=1)
Buffers:shared hit = 39 read=93
--> Index Scan using idx_test1_id_name on test1(cost=0.42..10879.37 row=1 width=51)(actual time=35.169..35.169 rows=0 loops=1)
Index Cond:((id >=1000 ) and (id <=10000))
Filter:((name)::text = ANY('{name1,name2}'::text[]))
Rows Removed by Filter:9001
Buffers:shared hit=39 read = 93
Planning time : 2.183ms
Execution time : 35.311ms
-- 2个疑问:
第一个问题:
Filter:((name)::text = ANY('{name1,name2}'::text[]))
这步为什么不能在索引的块中过滤,Pg走的是回表过滤,这样会造成效率低下。
仅仅是根据idx_test1_id_name的前导列范围扫描id,直接回表读取heap page过滤
而且我只选中了id和name两列都在索引中的,理论上不需要回表嘛,
这点在oracle数据库中确认没有回表过程
第二个问题:
postgresql的执行计划很难看出是否真正的回表了。上面的回表过滤我是通过查看 pg_buffercache插件确认的。
请阿里的大牛帮忙看看,是否有好的思路和方法。
| 9 |
h | 2018-06-15 13:58:25+08 | 建议o
| 2018-08-14 11:36:58+08 | doudou586 |
建议内容:无法下载数据库。数据库都不能下载这个社区还有存在的价值吗?
处理结果:您好,因网站资源限制,原来的下载链接是指向国外服务器的。。。现在已将最新的64位三个平台的10.5版本的安装包复制至网站本地。现在可以下载了。
10 |
gjwjbhb | 2018-05-24 15:45:55+08 | 内容问题
| | |
建议内容:我是分段读取数据,但是如果有两个分段读取数据就会报40001的错误,请问怎么解决。
| 11 |
hhpop | 2018-04-02 21:01:56+08 | 建议
| 2018-08-14 14:47:00+08 | doudou586 |
建议内容:QQ群没人通过,中文社区也无法下载,国外官网也不能下载,这社区是服务什么的呢?
处理结果:下载问题已解决了。。。网站已将最新的正式版本和最新的11.0 Beta3测试版本上传至本网站,大家可以下载了。
12 |
niunan222 | 2018-03-12 15:16:57+08 | 其他
| 2018-08-14 14:54:12+08 | doudou586 |
建议内容:怎么没有C#的驱动啊。。
我想在C#中读到PGSQL数据库啊。。
处理结果:您使用ODBC标准驱动,是可以用于C#语言的。
13 |
washi | 2018-02-26 10:17:15+08 | 内容问题
| | |
建议内容:PostgreSQL处理登录失败的机制是通过插件来实现,目前想实现这样一个功能:如果使用某账户登录,连续失败n次则锁定该账户一段时间,使其在这段期间不能登录,请问该功能可以实现吗?如果能,具体实现的思路是什么呢?谢谢指教
| 14 |
匿名 | 2018-02-22 09:19:37+08 | 建议
| | |
建议内容:POSTGRESQL中关于JSONB有?、?|、?&的操作,可否加入?!的操作,方便筛选不包含某个KEY的数据。
| 15 |
xiekai | 2018-02-07 09:10:56+08 | Bug
| | |
建议内容:C++ 使用libpg链接数据库,lib version:100001 , protocal version:3, postgresql server version:100001
使用PQconnectdb 连接数据库成功后,在使用PGConn 访问数据库的过程中,与数据库的网络断开了。这个时候通过PQstatus(conn)得到的结果全部都是:CONNECTION_OK。 但是通过PQexec操作数据库,全部操作失败。 当网络恢复正常后, 通过PQexec操作也都是失败,PQstatus(conn)得到的结果也全部都是CONNECTION_OK。
| 16 |
wayne | 2018-01-01 17:55:48+08 | 其他
| | |
建议内容:请教个问题。
我的oracle应用需要迁移到postgresql,动态执行语句execute immediate ... bulk collect into ... using ...,将满足条件的数据一次写入type数组中,然后for循环遍历。请问这样的处理方法,在postgresql中应该如何实现呢?
谢谢。
| 17 |
ccbkzr | 2017-12-18 16:11:34+08 | 建议
| | |
建议内容:如何把自己写的python程序导入到postgres库里面
| 18 |
redraiment | 2017-12-05 18:48:07+08 | 内容问题
| 2018-08-14 14:52:06+08 | doudou586 |
建议内容:注册页面和个人信息页面里“性趣爱好”有错别字,应该是“兴趣爱好”。
处理结果:谢谢这位细心的朋友。。。已全部修正。
19 |
sun | 2017-10-25 08:10:56+08 | Bug
| 2018-08-14 14:53:19+08 | doudou586 |
建议内容:10.0的下载链接失效
处理结果:现已修正,可以直接从本网站下载了。
20 |
ruiliang | 2017-09-27 21:11:13+08 | 内容问题
| | |
建议内容:如何对多列数据json进行转换 k,v
select * from json_each('{"11":210000,"14":1000,"11":210000}')
这种是可以的,但对于数据表有很多列这样的数据,而返回的只是一列
SELECT json_each_text((cont->>'vmoney')::json) FROM "convert"."convert_data_info" where file='player' AND cont ->> 'vmoney' LIKE '{%'
返回的是这样的数据,
json_each_text
-------------------------
(11,142000)
(11,212000)
(11,142000)
(14,2000)
(15,600)
怎样使多列数据,返回k,v两列呢,因为我要对key进行分组,再求和操作。
谢谢!
| | | | | | |