Quantcast
Channel: PostgreSQL research
Browsing all 253 articles
Browse latest View live

pgpool-II 支持流复制协议

验证一下pgpool-II是否支持流复制协议,记录一下结果。支持流复制协议的话,做多机房的异地容灾就可以通过流复制直接走PGPOOL的端口了。 51356 digoal  20   0  115m 1412 1084 R 99.3  0.0   2:16.12 pg_basebackup -h 127.0.0.1 -p 9999 -U postgres -D /disk1/digoal/test...

View Article


Postgres-XL 的一些硬限制

收集更新中节点数: src/include/pgxc/nodemgr.h/* Compile time max limits on number of coordinators and datanodes */#define MAX_COORDINATORS                64#define MAX_DATANODES                   256

View Article


PostgreSQL 如何提升LDAP或AD域认证的可用性

PostgreSQL...

View Article

让Greenplum 支持反转索引

GP的反转索引可以通过函数reverse来实现,但是这个函数在GP的版本中没有,所以需要port过来。可以在9.5的代码中找到src/backend/utils/adt/varlena.cvi reverse.c#include <string.h> #include "postgres.h" #include "fmgr.h" PG_MODULE_MAGIC;...

View Article

Greenplum通过gp_dist_random('gp_id') 在所有节点调用某个函数

使用greenplum时,如果需要调用一个函数,这个函数很可能就在master执行,而不会跑到segment上去执行。例如 random()函数。通过select random()来调用的话,不需要将这条SQL发送到segment节点,所以执行计划如下,没有gather motion的过程。postgres=# explain analyze select random(); QUERY PLAN...

View Article


zhparser中文分词的参数与分词结果的影响

以下配置在PG9.2及以上版本使用,这些选项是用来控制字典加载行为和分词行为的,这些选项都不是必须的,默认都为false(即如果没有在配置文件中设置这些选项,则zhparser的行为与将下面的选项设置为false一致)。zhparser.punctuation_ignore = fzhparser.seg_with_duality = fzhparser.dict_in_memory =...

View Article

Greenplum plpgsql函数中exit存在无法跳出循环的BUG

Greenplum中如果使用循环,并且内部嵌套了子块,在子块中的exit只能跳出子块,不能跳出子块外面的循环。CREATE OR REPLACE FUNCTION test1(i integer) RETURNS integer AS $$DECLARE count int;BEGIN    count := 1;    LOOP        count := count + 1;...

View Article

PostgreSQL in 语法 的优化器处理以及如何优化

PostgreSQL in 的优化器处理以及如何优化在使用数据库的过程中,经常会遇到需要匹配多个值的情况。通常的写法包括:-- select * from table where id = any(array); -- select * from table where id in (values); -- select * from table where id=x or id=x or...

View Article


PostgreSQL promote过程 和 一主多备 时间线对接详解

PostgreSQL的physical standby数据库的promote过程,数据库会在pg_xlog目录产生3个文件。例如将备库1 promote,它将在pg_xlog目录产生如下文件:A.partial (xlog) NEWTL_A (xlog) NEWTL.history (history file) 例如备库1当前已接收到的XLOG位置是 00000001000000000000002D...

View Article


Kipmi0 占用100% CPU1核

Kipmi0 占用100%单核,NICE 19,一般没什么影响。但是也可以临时降低echo 100 > /sys/module/ipmi_si/parameters/kipmid_max_busy_us降到10%重启生效的配置,修改模块参数。Create a file in /etc/modprobe.d/, i.e./etc/modprobe.d/ipmi.conf, and add the...

View Article

PostgreSQL MySQL 兼容性之 - 数字类型

TINYINTMySQL TINYINT[(M)] [UNSIGNED] [ZEROFILL] A very small integer. The signed range is -128 to 127. The unsigned range is 0 to 255. PostgreSQLTINYINT 对应 PostgreSQL postgres=# create domain tinyint...

View Article

PostgreSQL MySQL 兼容性之 - 字符串类型

charMySQL [NATIONAL] CHAR[(M)] [CHARACTER SET charset_name] [COLLATE collation_name] A fixed-length string that is always right-padded with spaces to the specified length when stored. M represents the...

View Article

PostgreSQL MySQL 兼容性之 - 时间类型

DATEMySQL DATE A date. The supported range is '1000-01-01' to '9999-12-31'. '0000-00-00' is a permitted special value (zero-date), unless the NO_ZERO_DATE SQL_MODE is used. Also, individual components...

View Article


PostgreSQL 构造用法举例

构造线段,点,线,范围postgres=# select proname,pg_get_function_arguments(oid) parameter,pg_get_function_result(oid) result,prosrc from pg_proc where prosrc ~ 'construct'; proname | parameter | result | prosrc...

View Article

PostgreSQL MySQL 兼容性之 - Gis类型

PostGIS的GIS功能相比MySQL强大太多,本文仅仅列举了MySQL支持的部分。欲了解PostGIS请参考:http://postgis.net/docs/manual-2.2/reference.htmlPostGIS有几百个操作函数, 对GIS支持强大。POINTMySQL POINT PointFromText('POINT(10 10)')...

View Article


PostgreSQL MySQL 兼容性之 - 自增值

AUTO_INCREMENT , sequenceMySQL AUTO_INCREMENT The AUTO_INCREMENT attribute can be used to generate a unique identity for new rows. When you insert a new record to the table, and the auto_increment...

View Article

PostgreSQL MySQL 兼容性之 - 空(NULL)

NULL compare operator <=>MySQLSELECT 99 <=> NULL, NULL <=> NULL; +-------------+---------------+ | 99 <=> NULL | NULL <=> NULL | +-------------+---------------+ | 0 | 1 |...

View Article


PostgreSQL 启动时会自动清理temporary-files directory

在使用数据库时,跑某些SQL的时候,如果work_mem内存不足会涉及一些临时空间的使用,比如排序,聚合,group by。如果数据库突然crash了,或者某些原因未清除temp file。数据库在重启的时候,会自动清理。PostmasterMain(int argc, char *argv[]) call RemovePgTempFiles(void) call...

View Article

PostgreSQL 锁等待跟踪

PostgreSQL 在打印LONG SQL时,锁等待的时间也会算在内,并且目前在日志中没有将锁等待的时间单独打印出来。shared_preload_libraries='auto_explain' auto_explain.log_min_duration='1s' auto_explain.log_analyze=true auto_explain.log_buffers=true...

View Article

PostgreSQL Oracle 兼容性之 - sys_guid()

Oracle 使用sys_guid()用来产生UUID值。在PostgreSQL中有类似的函数,需要安装uuid-ossp插件。如果用户不想修改代码,还是需要使用sys_guid()函数的话,可以自己写一个。如下:postgres=# create extension "uuid-ossp"; CREATE EXTENSION postgres=# create or replace...

View Article
Browsing all 253 articles
Browse latest View live