原创 PG主從流複製WAL被覆蓋解決方式

PostgreSQL的流複製的原理是通過傳遞主機(master)上的wal日誌信息到備機(slave)然後恢復,這中間就有一個潛在的問題,如果主機端比較忙,wal日誌被覆蓋了,而從機可能因爲網絡或者其他原因沒有接收到該日誌,就會造

原创 Buffer Overflow之argv

在linux 編程中,我們會遇到這種情況: int main(int argc, char *argv[]) { /* ... */ } 參數從命令行中讀取到程序的內存中,程序啓動的時候調用main函數,命令行保存在argv[0]~

原创 整型轉換規則及注意事項

原理: 術語解釋:整型提升屬於類型提升的一部分。當操作符兩邊的類型的等級都小於整型(int)的範圍時,默認情況下會把該類型提升爲整型(int)進行計算。例如:對於char類型的計算,就會提升爲對應的整型的計算。最終結果再轉爲char返

原创 Cannot retrieve metalink for repository: epel

Cannot retrieve metalink for repository: epel**我在CentOS中執行`yum grouplist`中遇到了這樣的問題:第一種解決方法第二種解決方法 我在CentOS中執行yum grou

原创 SearchCatCache

SearchCatCache 簡介: 這個函數根據給定的查找鍵值查找一個系統緩存來查找一個tuple,(如果是第一次進入cache,打開對應的表建立一個緩存)如果在cache中找到該tuple就返回一個指向cache中tuple的指針

原创 SQL基礎之數據查詢

以下爲課本知識: 定義: 數據查詢是指的將數據庫中存儲的數據根據用戶的需求檢索出來。 SELECT [ALL | DISTINECT] <列表達式>[,....n] FROM <表名 | 視圖名> [WHERE <查詢條件表達式> [

原创 postgresql 設置block_size大小

configure的時候增加配置參數 --with-blocksize=32 需要的時候將32替換成你需要的值。 8或者16

原创 postgresql 查看當前用戶名

查看當前連接的用戶名: select * from current_user select user

原创 postgresql刪除主鍵

ALTER TABLE tablename DROP CONSTRAINT primaryname。 talbename:表示表名 primaryname:表示主鍵名 例子: postgres=# \d c_tab;

原创 PostgreSQL extension 參數

PostgreSQL 是一個高可高擴展的數據庫,它提供了一種功能就是把相關的SQL 對象集合成一個包,這個包,在PostgreSQL中被稱爲一個擴展(extension),爲了定義這個擴展(extension),你必須至少需要一個可以創建

原创 __BUILTIN_TYPES_COMPATIBLE_P函數

__BUILTIN_TYPES_COMPATIBLE_P 名字: __builtin_types_compatible_p GNU擴展,用來判斷兩個類型是否相同 原型 int __builtin_types_compatible_p

原创 oracle 查看當前登錄用戶和所有用戶

oracle 查看當前用戶名 show user select user from dual oracle 查看所有用戶名 select * from all_users

原创 linux 磁盤調度、磁盤類型、top以及iostat 參數筆記

該文章非原創內容摘自不同博客,僅作個人筆記用,博客地址見引用部分 利用rotational 查看磁盤類型以及調度方式 前兩行查看磁盤調度方式: 當前方式爲cfg,調度方式見底部引用 最後一行查看磁盤類型: 返回值

原创 makeDefElem函數筆記

makeDefElem("createdb", (Node *)makeInteger(TRUE)); 創建一個DefElem節點,節點中的defname爲createdb,節點的中的arg指向T_Integer的節點。其他的參數defn

原创 get_hash_entry

函數意思是返回一個HASHELEMENT指針,HASHBUCKET是一個Element指針的宏定義。 首先判斷現有的freelist中是否有可用的Element,如果有,進入4,否則進入2 如果現有的freelist中沒有,就試圖擴展f