原创 postgresql 11開始支持sql:2011標準的所有window frame子句

PostgreSQL 在2009年發佈的8.4版本中開始支持window語法,直到2017-10-5發佈了pg 11才完全支持sql:2011中所有的子句(所以具體廠商實現通常要三五年甚至更長才能完成對標準規範的支持)。 窗口函數的語法定義

原创 rhel/centos 8新特性

rhel 7的主要新特性參見https://www.cnblogs.com/zhjh256/p/6675315.html。 8和7比又有不少新特性和廢棄的特性。如下: /etc/inittab廢棄 查看防火牆 systemctl statu

原创 c語言中的Pointer Swizzling

CMU 15-445/15-645中在索引一節有提到“Pointer Swizzling”,意思是內存地址和物理地址之間的轉換。但它的翻譯當前沒有很能表達意思的術語,理解即可,有時候就是不好翻譯不如不翻譯。 https://stackove

原创 知識普及之上位機組態軟件常用推薦

一、WinCC WinCC是西門子公司推出的一款上位機組態軟件,是工業自動化領域中非常常用的一款軟件,被廣泛應用於自動化控制、監控等方面。WinCC具有豐富的圖形化界面,可靈活地配置、監控、控制和維護工業生產流程,支持多語言、分佈式、網絡化

原创 圖基礎之不相交集(並查集)

主要用於避免遍歷的時候做無用功。 // 用於處理不相交集合的合併問題。 // 經典應用有: // –連通子圖 // –最小生成樹Kruskal算法 // –最近公共祖先 // O(n) #include <bits/stdc++.h>

原创 makefile詳解-實例版 四個特殊符號的意義@、$@、$^、$< makefile編譯子目錄 makefile中 rm、@rm 和 -rm的區別

雖然cmake已經很成熟了,但是make和Ninja(pg 16採用Ninja而不是cmake)仍然廣泛在使用中,並且相比cmake,make更加的透明。可以說掌握makefile是linux下開發從入門到進階第一步。#---------

原创 手寫topN算法-c語言

#include <stdio.h> #include <malloc.h> struct TreeHeap { int v; }; typedef struct TreeHeap TreeHeap; static void

原创 intel網卡系列及RDMA支持

起源,intel網卡中的SFP+是啥? SFP+是光纖模塊,是一種可熱插拔的,獨立於通信協議的光學收發器。SFP+光纖模塊是SFP的升級。SFP+光纖模塊在以太網和1G、2G、4G光纖通道上SFP已經得到了廣泛應用。SFP+爲了適應更高的

原创 c語言struct結構體不帶類型名定義變量

如: typedef struct {   int timelineId;   size_t len;   WalRecord *walrec; } WalData; 相當於只希望一個應用只有一個單例。對應於設計模式中常說的單例模式。 ht

原创 一文真正掌握內存屏障memory_barrier及其用途

  在linux源碼中經常遇到__asm__函數。它其實是函數asm的宏定義   #define __asm__ asm,asm函數讓系統執行彙編語句。   __asm__常常與__volatile__一起出現。__volatile__限制

原创 linux下gcc 4.8.5和7.5並存

  有些軟件依賴於c++ 14甚至c++ 17的特性,比如libpqxx 6.4.8版本就需要4.9以上版本,4.8.5不可以,會下列錯誤,   invalid initialization of non-const reference o

原创 lightdb/postgresql中plpgsql、函數與操作符、表達式及其內部實現

PG_PROC PG_OPERATOR pg_opclass用於定義索引上的相關操作符,一般來說是同一類數據類型。pg_opfamiliy定義了相互兼容的數據類型的操作符,關係見https://www.postgresql.org/docs

原创 postgresql socket讀數據返回-1

如下所示: { n = secure_raw_read(port, ptr, len); // pg的socket讀是非阻塞讀,所以返回-1不影響,後面等到socket可讀之後繼續讀。見下文socket返回值解

原创 高可用集羣基本概念與實現層次技術參考

    高可用集羣的構架層次:          1. 後端主機層: 這一層主要是正在運行在物理主機上的服務。          2. Message layer: 信息傳遞層,主要傳遞心跳信息         2. Cluster

原创 postgresql 16主要新特性 postgresql 15新特性

繼postgresql 15新特性後,pg16已經發布,這個版本的主要特性如下: 1、邏輯複製支持級聯,不一定要從primary開始; 2、邏輯複製支持訂閱自己,也就是真正的雙主可以通過邏輯複製內置訂閱實現了,不需要依賴三方,如pglogi