12938 | postgres | 16576 | postgres | active | ::1 | select datid,datname,pid,usename,state,client_addr,query from pg_stat_activity; 16394 | lib1 | 13592 | postgres | idle | 127.0.0.1 | SELECT id,name,age,email FROM guser WHERE id=$1 16394 | lib1 | 11140 | postgres | idle ...
CREATETABLEfoo (fooidint, foosubidint, fooname text);CREATEFUNCTIONgetfoo(int)RETURNSSETOF fooAS$$SELECT*FROMfooWHEREfooid=$1; $$LANGUAGESQL;SELECT*FROMgetfoo(1)ASt1;SELECT*FROMfooWHEREfoosubidIN(SELECTfoosubidFROMgetfoo(foo.fooid) zWHEREz.fooid=foo.fooid );CREATEVIEWvw_getfooASSELECT...
plpgsql_recognize_err_condition (condname=0x2a21fc0 "division_by_zero", allow_sqlstate=true) // raise notice unique_violation using message = 'Duplicate user ID: ' || user_id, hint = 'Please check your user ID'; plpgsql_recognize_err_condition (condname=0x2a21ef0 "unique_violation",...
xc_node_id | node_name | f1 | f2 ---+---+---+--- 2142761564 | dn001 | 1 | 3 2142761564 | dn001 | 1 | 3 (2 rows) postgres=# grouping sets/rollup/cube 用法 group by 用法 销售明细表。 create table t_grouping(id int,dep varchar(20),product varchar(20),num int);...
sharding column的一般选择:Where、JOIN出现频率高的列,分布相对平均的列,例如:订单表、用户表以user_id做分片;SaaS多租户。 range分片:分片范围由人工指定。 Citus对range分片的支持比较简单,需要人工指定每个分片的范围。相比TiDB,Citus的range分片没有自动分裂,节约了很大的运维成本。Citus也指明了range分片适用于时序...
insertintotblselectid, gen_pid(id)fromgenerate_series(1,100000000) t(id)onconflictdonothing; 递归查询 使用递归查询语法: 当一个用户获得一笔收入时,需要将他的收入,分配一部分佣金给他的直接上级,以及总的上级。输入UID,查找根、直接上级 withrecursivetmpas(select*fromtblwhereuid=94499137unionallselecttbl....
SPHEROID["Krasovsky_ 1940",6378245.000000,298.299997264589]]这个 id 。这个 id 就相当于是一个坐标系,针对不同的位置就有不同的 ID ,去计算 ID 的时候,它会用到里面的一些参数。这样的话,最后根据两个经纬度去算它的距离,就会发现非常的准确,因为它使用了不同的半径。
LINE 1: create table t_range(id int primary key, info text, crt_time... ^ 1. 2. 3. 4. 正常创建分区表: bill=# create table t_range(id int, info text, crt_time timestamp) partition by range (crt_time); CREATE TABLE 1. ...
create table t_grouping(id int,dep varchar(20),product varchar(20),num int); insert into t_grouping values(1,'业务1部','手机',90); insert into t_grouping values(2,'业务1部','电脑',80); insert into t_grouping values(3,'业务1部','手机',70); insert into t_grouping values(4,'...
PostgreSQL 除了支持基本的GROUP BY分组操作之外,还支持 3 种高级的分组选项:GROUPING SETS、ROLLUP以及CUBE。 GROUPING SETS 选项 GROUPING SETS是GROUP BY的扩展选项,用于指定自定义的分组集。举例来说,以下是一个销售数据表: CREATE TABLE sales ( item VARCHAR(10), year VARCHAR(4), quantity INT ); INSERT ...