×

数据库

es单值与多值查询模板

穆琪 穆琪 发表于2023-05-09 浏览139 评论0

背景

在开发过程中,经常遇到要去es中查询数据排查问题的情况,这时候就需要有一个简单的模板带入参数进行查询。

语句

# 单值
curl -XGET  localhost:9200/xxx/_search?pretty -d '{"query":{"term":{"":""}},"from":0,"size":1}'
# 多值
curl -XGET  localhost:9200/xxx/_search?pretty -d '{"query":{"bool":{"must":[{"term":{"attacker":"x.x.x.x"}},{"term":{"victim":"x.x.x.x"}}]}},"from":0,"size":1}'
Git Merge 与 Git Rebase的区别

杂项

Git Merge 与 Git Rebase的区别

穆琪 穆琪 发表于2023-04-28 浏览128 评论0

1.背景

merge和rebase都是用于分支合并,但实现机制不同。

git merge是将两个分支的修改合并成一个新的提交,并保留两个分支的历史记录;

git rebase是将一个分支的修改应用到另一个分支上,使得两个分支的修改看起来像是顺序提交的。

接下来,通过图形的方式直观地介绍git merge和git rebase的工作过程。

2.合并(Merge)

git merge是将一个分支的修改融入到另一个分支的一种方式,可执行两种类型的合并:fast-forward 和 no-fast-forward,现在你可能分不清,不过没关系,我们马上来看看它们的差异所在。

数据库

查看pg中正在执行的语句

穆琪 穆琪 发表于2023-04-28 浏览141 评论0

1.背景

有时候代码写的不好,会导致sql性能比较差,比如乱用in_。这时候就需要查看pg中正在执行的语句,看哪些语句执行时间过长。

2.sql语句

select pid,
       datname,
       usename,
       client_addr,
       application_name,
       state,
       backend_start,
       xact_start,
       xact_stay,
       query_start,
       query_stay,
       replace(query, chr(10), ' ') as query
from
  (select pgsa.pid as pid,
          pgsa.datname as datname,
          pgsa.usename as usename,
          pgsa.client_addr client_addr,
          pgsa.application_name as application_name,
          pgsa.state as state,
          pgsa.backend_start as backend_start,
          pgsa.xact_start as xact_start,
          extract(epoch
                  from (now() - pgsa.xact_start)) as xact_stay,
          pgsa.query_start as query_start,
          extract(epoch
                  from (now() - pgsa.query_start)) as query_stay,
          pgsa.query as query
   from pg_stat_activity as pgsa
   where pgsa.state != 'idle'
     and pgsa.state != 'idle in transaction'
     and pgsa.state != 'idle in transaction (aborted)') idleconnections
order by query_stay desc;

操作系统

grep 打印出前后n行的内容

穆琪 穆琪 发表于2023-04-28 浏览117 评论0

1.背景

在开发排查问题的过程中,需要grep错误日志,为了更好的分析,需要把grep到的错误日志的前后n行打印出了,此处以10行为例。

2.步骤

可以使用 grep 命令结合 Context Control 选项来打印出匹配行的前后行内容,其中 -C 选项用于指定要打印的上下文行数,例如: