🌓

PostgreSQL中用递归CTE获取一张表的所有祖先表

今天介绍两个知识点:

  1. PostgreSQL的表继承
  2. PostgreSQL中的可递归CTE

阅读全文

Vert.x项目监测代码变化自动冷重启

传统的Java Web开发一般都会提供热重载的方式,方便开发人员在代码发生变化的时候,无需手动重启应用,就可以刷新到效果。用惯了的人,在用Vert.x开发的时候多少会有点不习惯,不过Vert.x程序启动速度还是很可观的,所以也勉强能忍。
后来通读文档的时候,发现有个关于redeploy的介绍,似乎能用,又似乎不好用的,直到看到官方的Vert.x 3.2 Gradle redeploy project总算豁然开朗了。
核心代码无非下面几行

阅读全文

家长的责任及义务

身为家长,到底能为孩子做些什么,什么又是最重要的呢

我认为按重要程度,依次有这几点

    阅读全文

    分享一个Vert.x的自定义Launcher

    Vert.x的官方example中,mainClassName一般是指定的io.vertx.core.Launcher,但是在实际应用中,如果我们也不加思索的用这个Launcher就会损失好多定制性,比如:

    阅读全文

    用pg_cron定时刷新PostgreSQL的物化视图

    PostgreSQL中可以很轻松的创建物化视图,但是却没有自动刷新物化视图的机制。通常来说,不外乎两种方式,一种是通过触发器,另一种就是定时任务调度。今天我们就来说说第二种方式。
    主要借助一个名为pg_cron的扩展。
    安装方法在官方介绍里面已经说的很清楚了,不再赘述,这里提醒一点,安装完后,是需要修改postgresql.conf配置文件,并重启PostgreSQL服务的。具体修改如下:

    阅读全文

    PostgreSQL修改FDW相关配置

    必要的时候要修改PostgreSQL中配置的外部服务器。有个ALTER SERVER命令是专门应对这种场景的。比如我的外部数据源服务器地址换了,只需要改下之前配置的host地址即可,SQL如下

    阅读全文

    PostgreSQL中的distinct on

    想象有这么一张表,存放若干学生不同课程的考试成绩,需求是,找出每门课程中,成绩最好的学生。原始表大概如下:

    +--------------------------------------+-----------------+----------------+-----------+
    | id | v_studentname | v_coursename | i_score |
    |--------------------------------------+-----------------+----------------+-----------|
    | fb9fe43a-6f57-4f92-8678-139167693e72 | 张三 | 语文 | 91 |
    | 0898afd7-4253-496e-9190-36fae14bddf2 | 张三 | 数学 | 77 |
    | 2a1f810d-55ee-42cc-ac17-ee970154cecb | 张三 | 英语 | 90 |
    | fa975cd4-af5f-49d0-a89e-6f88665629eb | 李四 | 语文 | 88 |
    | 8833a07c-de8d-4b15-aa34-d9340c2e82c3 | 李四 | 数学 | 87 |
    | 1a9dfbdf-7c44-45d7-8141-590203aa26a9 | 李四 | 英语 | 89 |
    | cd3ec937-0ab9-4745-ad1a-c9f85839eaeb | 王五 | 语文 | 89 |
    | 431b7ccd-3a25-4ff4-9cc2-2e9f111f5c06 | 王五 | 数学 | 91 |
    | 8021e41d-09f5-49fb-a9e2-750d14bbff50 | 王五 | 英语 | 79 |
    +--------------------------------------+-----------------+----------------+-----------+

    阅读全文

    Linux软硬链接使用心得

    ln命令,涉及到的软硬链接的核心概念已经被阐述的很多了。但是用的时候,到底用软链接,还是用硬链接,有时候还是会让人摸不着头绪。所以我尝试总结几点:

    1. 软硬链接都能起到原始文件只占用一份磁盘资源的目的
    2. 硬链接不能针对文件夹,软链接无此限制

    阅读全文

    PostgreSQL删除数据库时提示other session using the database

    PostgreSQL中,如果想drop一个正在被人连接的数据库,是不可以的。提示如下:

    postgres=# drop database ka;
    ERROR: database "ka" is being accessed by other users
    DETAIL: There is 1 other session using the database

    阅读全文

    Cordova插件中定制build.gradle的方法

    编写cordova插件的时候,有时候要有进一步设置build.gradle文件的需求,比如追加个依赖什么的。这中问题,可以通过设置cordovaplugin.xml来解决的。分为如下几个步骤:

    阅读全文