add pg_prewarm test

master
Eric Chang 6 years ago
parent 9969a4399d
commit 312ebdbc7f

@ -0,0 +1,418 @@
---
title: "[筆記] 測試 postgresql 的pg_prewarm 對效能的影響 / test pg_prewarm in postgresql 11"
date: 2019-12-20T14:31:42+08:00
draft: false
noSummary: false
categories: ['筆記']
image: https://h.cowbay.org/images/post-default-9.jpg
tags: ['postgresql']
author: "Eric Chang"
keywords:
- postgresql
- pg_prewarm
---
老闆提到想要把新系統的 postgresql 資料庫都撈到記憶體裡面
但是否決了我提出的ramdisk 作法(因為當機的話,資料就沒了)
在找資料的時候發現了這個postgresql 的 pg_prewarm extension
好像有點意思?就來測試看看吧!
只是目前還不知道該怎麼解讀測試的數據就是了...
幹!林北真的不是 DBA 啦 =.=
<!--more-->
安裝系統、postgresql 資料庫什麼的就不提了,那不是這次的重點
#### 修改 postgresql.conf
編輯postgresql.conf開啟平行處理以及設定可用記憶體容量
這台測試機的環境是一台三代i7 , 24G RAM , 240G SSD安裝debian 10(buster)
```
# load libiriaes
# 其實這次不會用到pg_stat_statements ,不過出於習慣,還是加入開機自動載入吧
shared_preload_libraries = 'pg_stat_statements'
#------------------------------------------------------------------------------
# CUSTOMIZED OPTIONS
#------------------------------------------------------------------------------
max_connections = 20
shared_buffers = 6GB
effective_cache_size = 18GB
maintenance_work_mem = 1536MB
checkpoint_completion_target = 0.7
wal_buffers = 16MB
default_statistics_target = 100
random_page_cost = 1.1
effective_io_concurrency = 200
work_mem = 78643kB
min_wal_size = 1GB
max_wal_size = 2GB
max_worker_processes = 8
max_parallel_workers_per_gather = 4
max_parallel_workers = 8
```
重新啟動postgresql ,準備開始測試囉!
轉換成 postgres 身份後,進入 psql
#### 建立測試資料庫
```
postgres=# create database test;
CREATE DATABASE
postgres=#
```
#### 連接測試資料庫、建立pg_prewarm extension
```
postgres=# \c test ;
You are now connected to database "test" as user "postgres".
test=# CREATE EXTENSION pg_prewarm;
CREATE EXTENSION
test=#
```
#### 建立測試資料表塞入500萬筆資料
```
test=# \timing
Timing is on.
test=# CREATE TABLE test_tbl AS
SELECT floor(random() * (9923123) + 1)::int FROM generate_series(1, 5000000) AS id;
SELECT 5000000
Time: 2940.602 ms (00:02.941)
test=#
```
#### 檢查看看剛剛建立的table 用了多少空間
哎呀,看起來用得不多啊
```
test=# SELECT pg_size_pretty(pg_relation_size('test_tbl'));
173 MB
```
**玩大一點,塞個一億筆資料好了**
```
test=# drop table test_tbl;
Time: 0.361 ms
test=# CREATE TABLE test_tbl AS
SELECT floor(random() * (99343) + 1)::int FROM generate_series(1, 100000000) AS id;
SELECT 100000000
Time: 6321.415 ms (00:06.321)
test=# SELECT pg_size_pretty(pg_relation_size('test_tbl'));
pg_size_pretty | 3457 MB
Time: 0.589 ms
test=#
```
現在資料庫長到3457MB了
先來執行一些初步的取得基本數據
```
test=# explain (analyze,buffers) select count(*) from test_tbl;
QUERY PLAN
------------------------------------------------------------------------------------------------------------------------
Finalize Aggregate (cost=755978.52..755978.53 rows=1 width=8) (actual time=3331.917..3331.918 rows=1 loops=1)
Buffers: shared hit=160 read=442318
-> Gather (cost=755978.10..755978.51 rows=4 width=8) (actual time=3331.876..3333.674 rows=5 loops=1)
Workers Planned: 4
Workers Launched: 4
Buffers: shared hit=160 read=442318
-> Partial Aggregate (cost=754978.10..754978.11 rows=1 width=8) (actual time=3329.279..3329.280 rows=1 loops=5)
Buffers: shared hit=160 read=442318
-> Parallel Seq Scan on test_tbl (cost=0.00..692478.08 rows=25000008 width=0) (actual time=0.029..1924.601 rows=20000000 loops=5)
Buffers: shared hit=160 read=442318
Planning Time: 0.040 ms
Execution Time: 3333.729 ms
(12 rows)
(END)
```
可以看到打中buffer 的部份其實很少,只有 160 大部分都是讀進去buffer (442318)
來看看 buffer 的使用狀況
```
test=# CREATE EXTENSION pg_buffercache;
CREATE EXTENSION
test=# select c.relname,pg_size_pretty(count(*) * 8192) as buffered,
test-# round(100.0 * count(*) / (
test(# select setting from pg_settings
test(# where name='shared_buffers')::integer,1)
test-# as buffer_percent,
test-# round(100.0*count(*)*8192 / pg_table_size(c.oid),1) as percent_of_relation
test-# from pg_class c inner join pg_buffercache b on b.relfilenode = c.relfilenode inner
test-# join pg_database d on ( b.reldatabase =d.oid and d.datname =current_database())
test-# group by c.oid,c.relname order by 3 desc limit 10;
relname | buffered | buffer_percent | percent_of_relation
--------------+------------+----------------+---------------------
test_tbl | 18 MB | 0.3 | 0.5
pg_am | 8192 bytes | 0.0 | 20.0
pg_index | 24 kB | 0.0 | 37.5
pg_amproc | 32 kB | 0.0 | 50.0
pg_cast | 16 kB | 0.0 | 33.3
pg_depend | 64 kB | 0.0 | 13.3
pg_amop | 48 kB | 0.0 | 54.5
pg_namespace | 8192 bytes | 0.0 | 20.0
pg_opclass | 16 kB | 0.0 | 28.6
pg_aggregate | 8192 bytes | 0.0 | 16.7
(10 rows)
Time: 148.719 ms
test=#
```
可以看到這個 test_tbl 只有0.5% 被撈到shared_buffers 裡面
接下來就把這個table全部推到shared_buffers 裡面去
```
test=# select pg_prewarm('test_tbl','buffer');
pg_prewarm
------------
442478
(1 row)
Time: 1938.043 ms (00:01.938)
test=#
```
然後再來看一次shared_buffers的使用狀況
```
test=# select c.relname,pg_size_pretty(count(*) * 8192) as buffered,
round(100.0 * count(*) / (
select setting from pg_settings
where name='shared_buffers')::integer,1)
as buffer_percent,
round(100.0*count(*)*8192 / pg_table_size(c.oid),1) as percent_of_relation
from pg_class c inner join pg_buffercache b on b.relfilenode = c.relfilenode inner
join pg_database d on ( b.reldatabase =d.oid and d.datname =current_database())
group by c.oid,c.relname order by 3 desc limit 10;
relname | buffered | buffer_percent | percent_of_relation
--------------+------------+----------------+---------------------
test_tbl | 3457 MB | 56.3 | 100.0
pg_am | 8192 bytes | 0.0 | 20.0
pg_index | 24 kB | 0.0 | 37.5
pg_amproc | 32 kB | 0.0 | 50.0
pg_cast | 16 kB | 0.0 | 33.3
pg_depend | 64 kB | 0.0 | 13.3
pg_amop | 48 kB | 0.0 | 54.5
pg_namespace | 8192 bytes | 0.0 | 20.0
pg_opclass | 16 kB | 0.0 | 28.6
pg_aggregate | 8192 bytes | 0.0 | 16.7
(10 rows)
Time: 2778.354 ms (00:02.778)
test=#
```
OK ,可以看到 test_tbl 已經通通被載入 shared_buffers 中
**buffered 表示表格被載入shared_buffers的大小**
**buffer_percent 表示這個表格佔用多少shared_buffers 的比例**
**percent_of_relation 表示這個表格有多少比例被載入 shared_buffers**
再來跑一次explain看看狀況
```
test=# explain (analyze,buffers) select count(*) from test_tbl;
Time: 3551.785 ms (00:03.552)
Finalize Aggregate (cost=755978.52..755978.53 rows=1 width=8) (actual time=3427.286..3427.287 rows=1 loops=1)
Buffers: shared hit=442478
-> Gather (cost=755978.10..755978.51 rows=4 width=8) (actual time=3427.215..3551.326 rows=5 loops=1)
Workers Planned: 4
Workers Launched: 4
Buffers: shared hit=442478
-> Partial Aggregate (cost=754978.10..754978.11 rows=1 width=8) (actual time=3423.659..3423.659 rows=1 loops=5)
Buffers: shared hit=442478
-> Parallel Seq Scan on test_tbl (cost=0.00..692478.08 rows=25000008 width=0) (actual time=0.017..1976.744 rows=20000000 loops=5)
Buffers: shared hit=442478
Planning Time: 0.039 ms
Execution Time: 3551.365 ms
(12 rows)
```
這邊就可以看到都是從buffer 讀出來所以 hit=442478
看樣子表格還是太小,所以沒有完全發揮?那再來把表格加大!
先重開一次 postgresql 清除buffer
然後重新建立表格
```
test=# drop table test_tbl;
DROP TABLE
Time: 297.493 ms
test=# CREATE TABLE test_tbl AS
test-# SELECT floor(random() * (993343) + 1)::int FROM generate_series(1, 300000000) AS id;
SELECT 300000000
Time: 290660.607 ms (04:50.661)
test=#
```
一樣,看看用了多少容量
```
test=# SELECT pg_size_pretty(pg_relation_size('test_tbl'));
pg_size_pretty
----------------
10 GB
(1 row)
Time: 0.474 ms
test=#
```
哇哈哈用了10G ,這次還不撐爆你!
跑explain 看看狀況
```
test=# explain (analyze,buffers) select count(*) from test_tbl;
Time: 22909.065 ms (00:22.909)
QUERY PLAN
---------------------------------------------------------------------------------------------------------------------------
Finalize Aggregate (cost=2265934.72..2265934.73 rows=1 width=8) (actual time=22906.045..22906.045 rows=1 loops=1)
Buffers: shared hit=2080 read=1325354 dirtied=1295425 written=1295265
-> Gather (cost=2265934.30..2265934.71 rows=4 width=8) (actual time=22905.997..22908.522 rows=5 loops=1)
Workers Planned: 4
Workers Launched: 4
Buffers: shared hit=2080 read=1325354 dirtied=1295425 written=1295265
-> Partial Aggregate (cost=2264934.30..2264934.31 rows=1 width=8) (actual time=22903.473..22903.474 rows=1 loops=5)
Buffers: shared hit=2080 read=1325354 dirtied=1295425 written=1295265
-> Parallel Seq Scan on test_tbl (cost=0.00..2077434.24 rows=75000024 width=0) (actual time=0.040..18374.277 rows=60000000 loops=5)
Buffers: shared hit=2080 read=1325354 dirtied=1295425 written=1295265
Planning Time: 0.094 ms
Execution Time: 22908.571 ms
(12 rows)
```
看一下現在 shared_buffers 使用狀況
可以看到這個 test_tbl 幾乎沒被放入 shared_buffers 中
```
test=# select c.relname,pg_size_pretty(count(*) * 8192) as buffered,
round(100.0 * count(*) / (
select setting from pg_settings
where name='shared_buffers')::integer,1)
as buffer_percent,
round(100.0*count(*)*8192 / pg_table_size(c.oid),1) as percent_of_relation
from pg_class c inner join pg_buffercache b on b.relfilenode = c.relfilenode inner
join pg_database d on ( b.reldatabase =d.oid and d.datname =current_database())
group by c.oid,c.relname order by 3 desc limit 10;
relname | buffered | buffer_percent | percent_of_relation
--------------+------------+----------------+---------------------
test_tbl | 18 MB | 0.3 | 0.2
pg_am | 8192 bytes | 0.0 | 20.0
pg_index | 24 kB | 0.0 | 37.5
pg_amproc | 32 kB | 0.0 | 50.0
pg_cast | 16 kB | 0.0 | 33.3
pg_depend | 64 kB | 0.0 | 13.3
pg_amop | 48 kB | 0.0 | 54.5
pg_namespace | 8192 bytes | 0.0 | 20.0
pg_opclass | 16 kB | 0.0 | 28.6
pg_aggregate | 8192 bytes | 0.0 | 16.7
(10 rows)
Time: 163.936 ms
test=#
```
強制把test_tbl 全部塞進 shared_buffers
```
test=# select pg_prewarm('test_tbl','buffer');
pg_prewarm
------------
1327434
(1 row)
Time: 7472.805 ms (00:07.473)
test=#
```
確認一下test_tbl 有沒有被整個塞進去
```
test=# select c.relname,pg_size_pretty(count(*) * 8192) as buffered,
round(100.0 * count(*) / (
select setting from pg_settings
where name='shared_buffers')::integer,1)
as buffer_percent,
round(100.0*count(*)*8192 / pg_table_size(c.oid),1) as percent_of_relation
from pg_class c inner join pg_buffercache b on b.relfilenode = c.relfilenode inner
join pg_database d on ( b.reldatabase =d.oid and d.datname =current_database())
group by c.oid,c.relname order by 3 desc limit 10;
relname | buffered | buffer_percent | percent_of_relation
--------------+------------+----------------+---------------------
test_tbl | 6142 MB | 100.0 | 59.2
pg_am | 8192 bytes | 0.0 | 20.0
pg_index | 24 kB | 0.0 | 37.5
pg_amproc | 32 kB | 0.0 | 50.0
pg_cast | 16 kB | 0.0 | 33.3
pg_depend | 24 kB | 0.0 | 5.0
pg_amop | 40 kB | 0.0 | 45.5
pg_namespace | 8192 bytes | 0.0 | 20.0
pg_opclass | 16 kB | 0.0 | 28.6
pg_aggregate | 8192 bytes | 0.0 | 16.7
(10 rows)
Time: 4985.366 ms (00:04.985)
test=#
```
GOOD let's do explain again !
```
test=# explain (analyze,buffers) select count(*) from test_tbl;
Time: 11451.188 ms (00:11.451)
QUERY PLAN
--------------------------------------------------------------------------------------------------------------------
Finalize Aggregate (cost=2265934.72..2265934.73 rows=1 width=8) (actual time=11231.664..11231.664 rows=1 loops=1)
Buffers: shared hit=785963 read=541471
-> Gather (cost=2265934.30..2265934.71 rows=4 width=8) (actual time=11231.606..11450.719 rows=5 loops=1)
Workers Planned: 4
Workers Launched: 4
Buffers: shared hit=785963 read=541471
-> Partial Aggregate (cost=2264934.30..2264934.31 rows=1 width=8) (actual time=11228.829..11228.830 rows=1 loops=5)
Buffers: shared hit=785963 read=541471
-> Parallel Seq Scan on test_tbl (cost=0.00..2077434.24 rows=75000024 width=0) (actual time=0.037..6414.711 rows=60000000 loops=5)
Buffers: shared hit=785963 read=541471
Planning Time: 0.039 ms
Execution Time: 11450.781 ms
(12 rows)
```
確認一下果然大部分都打到cache 了但是因為shared_buffers 不夠大,所以還會從磁碟讀取一部分
而且時間也比之前還沒塞進shared_buffers 的時候要快了不少
22908.571 --> 11450.781 ms
***
從這次的測試看來我想如果有足夠大的記憶體能夠把資料表都塞入shared_buffers 中
應該可以帶來不錯的效能增幅!

@ -45,9 +45,9 @@
<link rel="stylesheet" href="https://use.fontawesome.com/releases/v5.3.1/css/all.css" integrity="sha384-mzrmE5qonljUremFsqc01SB46JvROS7bZs3IO2EmfFsd15uHvIt+Y8vEf7N7fWAU" crossorigin="anonymous">
<link href="https://h.cowbay.org/css/style.css?v=1576652202" rel="stylesheet" id="theme-stylesheet" type='text/css' media='all'>
<link href="https://h.cowbay.org/css/style.css?v=1576828466" rel="stylesheet" id="theme-stylesheet" type='text/css' media='all'>
<link href="https://h.cowbay.org/css/custom.css?v=1576652202" rel="stylesheet" type='text/css' media='all'>
<link href="https://h.cowbay.org/css/custom.css?v=1576828466" rel="stylesheet" type='text/css' media='all'>
<link rel="shortcut icon" href="https://h.cowbay.org/img/favicon.ico" type="image/x-icon">
<link rel="icon" href="https://h.cowbay.org/img/favicon.ico" type="image/x-icon">
@ -599,7 +599,7 @@ title="pinterest icon"></i>
</div>
<script src="https://h.cowbay.org/js/jquery.min.js"></script>
<script src="https://h.cowbay.org/js/jquerymigrate.js"></script>
<script src="https://h.cowbay.org/js/production.min.js?v=1576652202"></script>
<script src="https://h.cowbay.org/js/production.min.js?v=1576828466"></script>
</body>
</html>

@ -45,9 +45,9 @@
<link rel="stylesheet" href="https://use.fontawesome.com/releases/v5.3.1/css/all.css" integrity="sha384-mzrmE5qonljUremFsqc01SB46JvROS7bZs3IO2EmfFsd15uHvIt+Y8vEf7N7fWAU" crossorigin="anonymous">
<link href="https://h.cowbay.org/css/style.css?v=1576652202" rel="stylesheet" id="theme-stylesheet" type='text/css' media='all'>
<link href="https://h.cowbay.org/css/style.css?v=1576828466" rel="stylesheet" id="theme-stylesheet" type='text/css' media='all'>
<link href="https://h.cowbay.org/css/custom.css?v=1576652202" rel="stylesheet" type='text/css' media='all'>
<link href="https://h.cowbay.org/css/custom.css?v=1576828466" rel="stylesheet" type='text/css' media='all'>
<link rel="shortcut icon" href="https://h.cowbay.org/img/favicon.ico" type="image/x-icon">
<link rel="icon" href="https://h.cowbay.org/img/favicon.ico" type="image/x-icon">
@ -604,6 +604,6 @@ if (!doNotTrack) {
</div>
<script src="https://h.cowbay.org/js/jquery.min.js"></script>
<script src="https://h.cowbay.org/js/jquerymigrate.js"></script>
<script src="https://h.cowbay.org/js/production.min.js?v=1576652202"></script>
<script src="https://h.cowbay.org/js/production.min.js?v=1576828466"></script>
</body>

@ -6,7 +6,7 @@
<description>Recent content in Categories on MC部落</description>
<generator>Hugo -- gohugo.io</generator>
<language>en-us</language>
<lastBuildDate>Wed, 18 Dec 2019 14:44:27 +0800</lastBuildDate>
<lastBuildDate>Fri, 20 Dec 2019 14:31:42 +0800</lastBuildDate>
<atom:link href="https://h.cowbay.org/categories/index.xml" rel="self" type="application/rss+xml" />
@ -14,7 +14,7 @@
<item>
<title>筆記</title>
<link>https://h.cowbay.org/categories/%E7%AD%86%E8%A8%98/</link>
<pubDate>Wed, 18 Dec 2019 14:44:27 +0800</pubDate>
<pubDate>Fri, 20 Dec 2019 14:31:42 +0800</pubDate>
<guid>https://h.cowbay.org/categories/%E7%AD%86%E8%A8%98/</guid>
<description></description>

@ -45,9 +45,9 @@
<link rel="stylesheet" href="https://use.fontawesome.com/releases/v5.3.1/css/all.css" integrity="sha384-mzrmE5qonljUremFsqc01SB46JvROS7bZs3IO2EmfFsd15uHvIt+Y8vEf7N7fWAU" crossorigin="anonymous">
<link href="https://h.cowbay.org/css/style.css?v=1576652202" rel="stylesheet" id="theme-stylesheet" type='text/css' media='all'>
<link href="https://h.cowbay.org/css/style.css?v=1576828466" rel="stylesheet" id="theme-stylesheet" type='text/css' media='all'>
<link href="https://h.cowbay.org/css/custom.css?v=1576652202" rel="stylesheet" type='text/css' media='all'>
<link href="https://h.cowbay.org/css/custom.css?v=1576828466" rel="stylesheet" type='text/css' media='all'>
<link rel="shortcut icon" href="https://h.cowbay.org/img/favicon.ico" type="image/x-icon">
<link rel="icon" href="https://h.cowbay.org/img/favicon.ico" type="image/x-icon">
@ -479,6 +479,6 @@ if (!doNotTrack) {
</div>
<script src="https://h.cowbay.org/js/jquery.min.js"></script>
<script src="https://h.cowbay.org/js/jquerymigrate.js"></script>
<script src="https://h.cowbay.org/js/production.min.js?v=1576652202"></script>
<script src="https://h.cowbay.org/js/production.min.js?v=1576828466"></script>
</body>

@ -45,9 +45,9 @@
<link rel="stylesheet" href="https://use.fontawesome.com/releases/v5.3.1/css/all.css" integrity="sha384-mzrmE5qonljUremFsqc01SB46JvROS7bZs3IO2EmfFsd15uHvIt+Y8vEf7N7fWAU" crossorigin="anonymous">
<link href="https://h.cowbay.org/css/style.css?v=1576652202" rel="stylesheet" id="theme-stylesheet" type='text/css' media='all'>
<link href="https://h.cowbay.org/css/style.css?v=1576828466" rel="stylesheet" id="theme-stylesheet" type='text/css' media='all'>
<link href="https://h.cowbay.org/css/custom.css?v=1576652202" rel="stylesheet" type='text/css' media='all'>
<link href="https://h.cowbay.org/css/custom.css?v=1576828466" rel="stylesheet" type='text/css' media='all'>
<link rel="shortcut icon" href="https://h.cowbay.org/img/favicon.ico" type="image/x-icon">
<link rel="icon" href="https://h.cowbay.org/img/favicon.ico" type="image/x-icon">
@ -483,6 +483,6 @@ if (!doNotTrack) {
</div>
<script src="https://h.cowbay.org/js/jquery.min.js"></script>
<script src="https://h.cowbay.org/js/jquerymigrate.js"></script>
<script src="https://h.cowbay.org/js/production.min.js?v=1576652202"></script>
<script src="https://h.cowbay.org/js/production.min.js?v=1576828466"></script>
</body>

@ -45,9 +45,9 @@
<link rel="stylesheet" href="https://use.fontawesome.com/releases/v5.3.1/css/all.css" integrity="sha384-mzrmE5qonljUremFsqc01SB46JvROS7bZs3IO2EmfFsd15uHvIt+Y8vEf7N7fWAU" crossorigin="anonymous">
<link href="https://h.cowbay.org/css/style.css?v=1576652202" rel="stylesheet" id="theme-stylesheet" type='text/css' media='all'>
<link href="https://h.cowbay.org/css/style.css?v=1576828466" rel="stylesheet" id="theme-stylesheet" type='text/css' media='all'>
<link href="https://h.cowbay.org/css/custom.css?v=1576652202" rel="stylesheet" type='text/css' media='all'>
<link href="https://h.cowbay.org/css/custom.css?v=1576828466" rel="stylesheet" type='text/css' media='all'>
<link rel="shortcut icon" href="https://h.cowbay.org/img/favicon.ico" type="image/x-icon">
<link rel="icon" href="https://h.cowbay.org/img/favicon.ico" type="image/x-icon">
@ -418,6 +418,6 @@ if (!doNotTrack) {
</div>
<script src="https://h.cowbay.org/js/jquery.min.js"></script>
<script src="https://h.cowbay.org/js/jquerymigrate.js"></script>
<script src="https://h.cowbay.org/js/production.min.js?v=1576652202"></script>
<script src="https://h.cowbay.org/js/production.min.js?v=1576828466"></script>
</body>

@ -45,9 +45,9 @@
<link rel="stylesheet" href="https://use.fontawesome.com/releases/v5.3.1/css/all.css" integrity="sha384-mzrmE5qonljUremFsqc01SB46JvROS7bZs3IO2EmfFsd15uHvIt+Y8vEf7N7fWAU" crossorigin="anonymous">
<link href="https://h.cowbay.org/css/style.css?v=1576652202" rel="stylesheet" id="theme-stylesheet" type='text/css' media='all'>
<link href="https://h.cowbay.org/css/style.css?v=1576828466" rel="stylesheet" id="theme-stylesheet" type='text/css' media='all'>
<link href="https://h.cowbay.org/css/custom.css?v=1576652202" rel="stylesheet" type='text/css' media='all'>
<link href="https://h.cowbay.org/css/custom.css?v=1576828466" rel="stylesheet" type='text/css' media='all'>
<link rel="shortcut icon" href="https://h.cowbay.org/img/favicon.ico" type="image/x-icon">
<link rel="icon" href="https://h.cowbay.org/img/favicon.ico" type="image/x-icon">
@ -481,6 +481,6 @@ if (!doNotTrack) {
</div>
<script src="https://h.cowbay.org/js/jquery.min.js"></script>
<script src="https://h.cowbay.org/js/jquerymigrate.js"></script>
<script src="https://h.cowbay.org/js/production.min.js?v=1576652202"></script>
<script src="https://h.cowbay.org/js/production.min.js?v=1576828466"></script>
</body>

@ -21,8 +21,8 @@
"accountablePerson" : "",
"copyrightHolder" : "",
"copyrightYear" : "2019",
"datePublished": "2019-12-18 14:44:27 \x2b0800 CST",
"dateModified" : "2019-12-18 14:44:27 \x2b0800 CST",
"datePublished": "2019-12-20 14:31:42 \x2b0800 CST",
"dateModified" : "2019-12-20 14:31:42 \x2b0800 CST",
"url" : "https:\/\/h.cowbay.org\/categories\/%E7%AD%86%E8%A8%98\/",
"wordCount" : "0",
"image" : "https://h.cowbay.org%!s(\u003cnil\u003e)"",
@ -45,9 +45,9 @@
<link rel="stylesheet" href="https://use.fontawesome.com/releases/v5.3.1/css/all.css" integrity="sha384-mzrmE5qonljUremFsqc01SB46JvROS7bZs3IO2EmfFsd15uHvIt+Y8vEf7N7fWAU" crossorigin="anonymous">
<link href="https://h.cowbay.org/css/style.css?v=1576652202" rel="stylesheet" id="theme-stylesheet" type='text/css' media='all'>
<link href="https://h.cowbay.org/css/style.css?v=1576828465" rel="stylesheet" id="theme-stylesheet" type='text/css' media='all'>
<link href="https://h.cowbay.org/css/custom.css?v=1576652202" rel="stylesheet" type='text/css' media='all'>
<link href="https://h.cowbay.org/css/custom.css?v=1576828465" rel="stylesheet" type='text/css' media='all'>
<link rel="shortcut icon" href="https://h.cowbay.org/img/favicon.ico" type="image/x-icon">
<link rel="icon" href="https://h.cowbay.org/img/favicon.ico" type="image/x-icon">
@ -297,6 +297,71 @@ if (!doNotTrack) {
<a class="featured-image-link" href="https://h.cowbay.org/post/test-pg_prewarm/"><div class='featured-image lazy lazy-bg-image' data-background="https://h.cowbay.org/images/post-default-9.jpg"></div></a>
<div class="excerpt-container">
<div class="excerpt-meta">
<span class="date">20 December</span>
<span> / </span>
<span class="author">
<a href="https://github.com/changchichung" title="Posts by Eric Chang" rel="author">Eric Chang</a>
</span>
<span> / </span>
<span class="category">
<a href="/categories/%E7%AD%86%E8%A8%98">筆記</a>
</span>
</div>
<div class='excerpt-header'>
<h2 class='excerpt-title'>
<a href="https://h.cowbay.org/post/test-pg_prewarm/ "> [筆記] 測試 postgresql 的pg_prewarm 對效能的影響 / test pg_prewarm in postgresql 11 </a>
</h2>
</div>
<div class='excerpt-content'>
<article>
<p>老闆提到想要把新系統的 postgresql 資料庫都撈到記憶體裡面</p>
<p>但是否決了我提出的ramdisk 作法(因為當機的話,資料就沒了)</p>
<p>在找資料的時候發現了這個postgresql 的 pg_prewarm extension</p>
<p>好像有點意思?就來測試看看吧!</p>
<p>只是目前還不知道該怎麼解讀測試的數據就是了&hellip;</p>
<p>幹!林北真的不是 DBA 啦 =.=</p>
<div class="more-link-wrapper"><a class="more-link" href="https://h.cowbay.org/post/test-pg_prewarm/">Read the post<span class="screen-reader-text">This is a Standard Post</span></a></div>
</article>
</div>
</div>
</div>
<div class="post type-post status-publish format-standard has-post-thumbnail hentry category-design tag-memories tag-normal-post tag-standard-2 excerpt zoom full-without-featured even excerpt">
<a class="featured-image-link" href="https://h.cowbay.org/post/accidentally-typed-an-extra-space-in-ansible-playbook/"><div class='featured-image lazy lazy-bg-image' data-background="https://h.cowbay.org/images/post-default-10.jpg"></div></a>
@ -351,7 +416,7 @@ if (!doNotTrack) {
<div class="post type-post status-publish format-standard has-post-thumbnail hentry category-design tag-memories tag-normal-post tag-standard-2 excerpt zoom full-without-featured even excerpt">
<div class="post type-post status-publish format-standard has-post-thumbnail hentry category-design tag-memories tag-normal-post tag-standard-2 excerpt zoom full-without-featured odd excerpt">
@ -412,7 +477,7 @@ if (!doNotTrack) {
<div class="post type-post status-publish format-standard has-post-thumbnail hentry category-design tag-memories tag-normal-post tag-standard-2 excerpt zoom full-without-featured odd excerpt">
<div class="post type-post status-publish format-standard has-post-thumbnail hentry category-design tag-memories tag-normal-post tag-standard-2 excerpt zoom full-without-featured even excerpt">
@ -481,7 +546,7 @@ if (!doNotTrack) {
<div class="post type-post status-publish format-standard has-post-thumbnail hentry category-design tag-memories tag-normal-post tag-standard-2 excerpt zoom full-without-featured even excerpt">
<div class="post type-post status-publish format-standard has-post-thumbnail hentry category-design tag-memories tag-normal-post tag-standard-2 excerpt zoom full-without-featured odd excerpt">
@ -542,7 +607,7 @@ if (!doNotTrack) {
<div class="post type-post status-publish format-standard has-post-thumbnail hentry category-design tag-memories tag-normal-post tag-standard-2 excerpt zoom full-without-featured odd excerpt">
<div class="post type-post status-publish format-standard has-post-thumbnail hentry category-design tag-memories tag-normal-post tag-standard-2 excerpt zoom full-without-featured even excerpt">
@ -607,7 +672,7 @@ if (!doNotTrack) {
<div class="post type-post status-publish format-standard has-post-thumbnail hentry category-design tag-memories tag-normal-post tag-standard-2 excerpt zoom full-without-featured even excerpt">
<div class="post type-post status-publish format-standard has-post-thumbnail hentry category-design tag-memories tag-normal-post tag-standard-2 excerpt zoom full-without-featured odd excerpt">
@ -664,7 +729,7 @@ if (!doNotTrack) {
<div class="post type-post status-publish format-standard has-post-thumbnail hentry category-design tag-memories tag-normal-post tag-standard-2 excerpt zoom full-without-featured odd excerpt">
<div class="post type-post status-publish format-standard has-post-thumbnail hentry category-design tag-memories tag-normal-post tag-standard-2 excerpt zoom full-without-featured even excerpt">
@ -723,7 +788,7 @@ if (!doNotTrack) {
<div class="post type-post status-publish format-standard has-post-thumbnail hentry category-design tag-memories tag-normal-post tag-standard-2 excerpt zoom full-without-featured even excerpt">
<div class="post type-post status-publish format-standard has-post-thumbnail hentry category-design tag-memories tag-normal-post tag-standard-2 excerpt zoom full-without-featured odd excerpt">
@ -778,7 +843,7 @@ if (!doNotTrack) {
<div class="post type-post status-publish format-standard has-post-thumbnail hentry category-design tag-memories tag-normal-post tag-standard-2 excerpt zoom full-without-featured odd excerpt">
<div class="post type-post status-publish format-standard has-post-thumbnail hentry category-design tag-memories tag-normal-post tag-standard-2 excerpt zoom full-without-featured even excerpt">
@ -833,7 +898,7 @@ if (!doNotTrack) {
<div class="post type-post status-publish format-standard has-post-thumbnail hentry category-design tag-memories tag-normal-post tag-standard-2 excerpt zoom full-without-featured even excerpt">
<div class="post type-post status-publish format-standard has-post-thumbnail hentry category-design tag-memories tag-normal-post tag-standard-2 excerpt zoom full-without-featured odd excerpt">
@ -894,7 +959,7 @@ if (!doNotTrack) {
<div class="post type-post status-publish format-standard has-post-thumbnail hentry category-design tag-memories tag-normal-post tag-standard-2 excerpt zoom full-without-featured odd excerpt">
<div class="post type-post status-publish format-standard has-post-thumbnail hentry category-design tag-memories tag-normal-post tag-standard-2 excerpt zoom full-without-featured even excerpt">
@ -955,7 +1020,7 @@ if (!doNotTrack) {
<div class="post type-post status-publish format-standard has-post-thumbnail hentry category-design tag-memories tag-normal-post tag-standard-2 excerpt zoom full-without-featured even excerpt">
<div class="post type-post status-publish format-standard has-post-thumbnail hentry category-design tag-memories tag-normal-post tag-standard-2 excerpt zoom full-without-featured odd excerpt">
@ -1022,7 +1087,7 @@ if (!doNotTrack) {
<div class="post type-post status-publish format-standard has-post-thumbnail hentry category-design tag-memories tag-normal-post tag-standard-2 excerpt zoom full-without-featured odd excerpt">
<div class="post type-post status-publish format-standard has-post-thumbnail hentry category-design tag-memories tag-normal-post tag-standard-2 excerpt zoom full-without-featured even excerpt">
@ -1087,7 +1152,7 @@ if (!doNotTrack) {
<div class="post type-post status-publish format-standard has-post-thumbnail hentry category-design tag-memories tag-normal-post tag-standard-2 excerpt zoom full-without-featured even excerpt">
<div class="post type-post status-publish format-standard has-post-thumbnail hentry category-design tag-memories tag-normal-post tag-standard-2 excerpt zoom full-without-featured odd excerpt">
@ -1160,7 +1225,7 @@ if (!doNotTrack) {
<div class="post type-post status-publish format-standard has-post-thumbnail hentry category-design tag-memories tag-normal-post tag-standard-2 excerpt zoom full-without-featured odd excerpt">
<div class="post type-post status-publish format-standard has-post-thumbnail hentry category-design tag-memories tag-normal-post tag-standard-2 excerpt zoom full-without-featured even excerpt">
@ -1229,7 +1294,7 @@ if (!doNotTrack) {
<div class="post type-post status-publish format-standard has-post-thumbnail hentry category-design tag-memories tag-normal-post tag-standard-2 excerpt zoom full-without-featured even excerpt">
<div class="post type-post status-publish format-standard has-post-thumbnail hentry category-design tag-memories tag-normal-post tag-standard-2 excerpt zoom full-without-featured odd excerpt">
@ -1292,7 +1357,7 @@ if (!doNotTrack) {
<div class="post type-post status-publish format-standard has-post-thumbnail hentry category-design tag-memories tag-normal-post tag-standard-2 excerpt zoom full-without-featured odd excerpt">
<div class="post type-post status-publish format-standard has-post-thumbnail hentry category-design tag-memories tag-normal-post tag-standard-2 excerpt zoom full-without-featured even excerpt">
@ -1349,7 +1414,7 @@ if (!doNotTrack) {
<div class="post type-post status-publish format-standard has-post-thumbnail hentry category-design tag-memories tag-normal-post tag-standard-2 excerpt zoom full-without-featured even excerpt">
<div class="post type-post status-publish format-standard has-post-thumbnail hentry category-design tag-memories tag-normal-post tag-standard-2 excerpt zoom full-without-featured odd excerpt">
@ -1412,7 +1477,7 @@ if (!doNotTrack) {
<div class="post type-post status-publish format-standard has-post-thumbnail hentry category-design tag-memories tag-normal-post tag-standard-2 excerpt zoom full-without-featured odd excerpt">
<div class="post type-post status-publish format-standard has-post-thumbnail hentry category-design tag-memories tag-normal-post tag-standard-2 excerpt zoom full-without-featured even excerpt">
@ -1473,7 +1538,7 @@ if (!doNotTrack) {
<div class="post type-post status-publish format-standard has-post-thumbnail hentry category-design tag-memories tag-normal-post tag-standard-2 excerpt zoom full-without-featured even excerpt">
<div class="post type-post status-publish format-standard has-post-thumbnail hentry category-design tag-memories tag-normal-post tag-standard-2 excerpt zoom full-without-featured odd excerpt">
@ -1532,7 +1597,7 @@ if (!doNotTrack) {
<div class="post type-post status-publish format-standard has-post-thumbnail hentry category-design tag-memories tag-normal-post tag-standard-2 excerpt zoom full-without-featured odd excerpt">
<div class="post type-post status-publish format-standard has-post-thumbnail hentry category-design tag-memories tag-normal-post tag-standard-2 excerpt zoom full-without-featured even excerpt">
@ -1589,7 +1654,7 @@ if (!doNotTrack) {
<div class="post type-post status-publish format-standard has-post-thumbnail hentry category-design tag-memories tag-normal-post tag-standard-2 excerpt zoom full-without-featured even excerpt">
<div class="post type-post status-publish format-standard has-post-thumbnail hentry category-design tag-memories tag-normal-post tag-standard-2 excerpt zoom full-without-featured odd excerpt">
@ -1650,7 +1715,7 @@ if (!doNotTrack) {
<div class="post type-post status-publish format-standard has-post-thumbnail hentry category-design tag-memories tag-normal-post tag-standard-2 excerpt zoom full-without-featured odd excerpt">
<div class="post type-post status-publish format-standard has-post-thumbnail hentry category-design tag-memories tag-normal-post tag-standard-2 excerpt zoom full-without-featured even excerpt">
@ -1707,7 +1772,7 @@ if (!doNotTrack) {
<div class="post type-post status-publish format-standard has-post-thumbnail hentry category-design tag-memories tag-normal-post tag-standard-2 excerpt zoom full-without-featured even excerpt">
<div class="post type-post status-publish format-standard has-post-thumbnail hentry category-design tag-memories tag-normal-post tag-standard-2 excerpt zoom full-without-featured odd excerpt">
@ -1766,7 +1831,7 @@ if (!doNotTrack) {
<div class="post type-post status-publish format-standard has-post-thumbnail hentry category-design tag-memories tag-normal-post tag-standard-2 excerpt zoom full-without-featured odd excerpt">
<div class="post type-post status-publish format-standard has-post-thumbnail hentry category-design tag-memories tag-normal-post tag-standard-2 excerpt zoom full-without-featured even excerpt">
@ -1827,7 +1892,7 @@ if (!doNotTrack) {
<div class="post type-post status-publish format-standard has-post-thumbnail hentry category-design tag-memories tag-normal-post tag-standard-2 excerpt zoom full-without-featured even excerpt">
<div class="post type-post status-publish format-standard has-post-thumbnail hentry category-design tag-memories tag-normal-post tag-standard-2 excerpt zoom full-without-featured odd excerpt">
@ -1888,7 +1953,7 @@ if (!doNotTrack) {
<div class="post type-post status-publish format-standard has-post-thumbnail hentry category-design tag-memories tag-normal-post tag-standard-2 excerpt zoom full-without-featured odd excerpt">
<div class="post type-post status-publish format-standard has-post-thumbnail hentry category-design tag-memories tag-normal-post tag-standard-2 excerpt zoom full-without-featured even excerpt">
@ -1959,7 +2024,7 @@ if (!doNotTrack) {
<div class="post type-post status-publish format-standard has-post-thumbnail hentry category-design tag-memories tag-normal-post tag-standard-2 excerpt zoom full-without-featured even excerpt">
<div class="post type-post status-publish format-standard has-post-thumbnail hentry category-design tag-memories tag-normal-post tag-standard-2 excerpt zoom full-without-featured odd excerpt">
@ -2018,7 +2083,7 @@ if (!doNotTrack) {
<div class="post type-post status-publish format-standard has-post-thumbnail hentry category-design tag-memories tag-normal-post tag-standard-2 excerpt zoom full-without-featured odd excerpt">
<div class="post type-post status-publish format-standard has-post-thumbnail hentry category-design tag-memories tag-normal-post tag-standard-2 excerpt zoom full-without-featured even excerpt">
@ -2116,7 +2181,7 @@ if (!doNotTrack) {
<div class="post type-post status-publish format-standard has-post-thumbnail hentry category-design tag-memories tag-normal-post tag-standard-2 excerpt zoom full-without-featured even excerpt">
<div class="post type-post status-publish format-standard has-post-thumbnail hentry category-design tag-memories tag-normal-post tag-standard-2 excerpt zoom full-without-featured odd excerpt">
@ -2177,7 +2242,7 @@ if (!doNotTrack) {
<div class="post type-post status-publish format-standard has-post-thumbnail hentry category-design tag-memories tag-normal-post tag-standard-2 excerpt zoom full-without-featured odd excerpt">
<div class="post type-post status-publish format-standard has-post-thumbnail hentry category-design tag-memories tag-normal-post tag-standard-2 excerpt zoom full-without-featured even excerpt">
@ -2238,7 +2303,7 @@ if (!doNotTrack) {
<div class="post type-post status-publish format-standard has-post-thumbnail hentry category-design tag-memories tag-normal-post tag-standard-2 excerpt zoom full-without-featured even excerpt">
<div class="post type-post status-publish format-standard has-post-thumbnail hentry category-design tag-memories tag-normal-post tag-standard-2 excerpt zoom full-without-featured odd excerpt">
@ -2305,7 +2370,7 @@ if (!doNotTrack) {
<div class="post type-post status-publish format-standard has-post-thumbnail hentry category-design tag-memories tag-normal-post tag-standard-2 excerpt zoom full-without-featured odd excerpt">
<div class="post type-post status-publish format-standard has-post-thumbnail hentry category-design tag-memories tag-normal-post tag-standard-2 excerpt zoom full-without-featured even excerpt">
@ -2365,7 +2430,7 @@ if (!doNotTrack) {
<div class="post type-post status-publish format-standard has-post-thumbnail hentry category-design tag-memories tag-normal-post tag-standard-2 excerpt zoom full-without-featured even excerpt">
<div class="post type-post status-publish format-standard has-post-thumbnail hentry category-design tag-memories tag-normal-post tag-standard-2 excerpt zoom full-without-featured odd excerpt">
@ -2436,7 +2501,7 @@ if (!doNotTrack) {
<div class="post type-post status-publish format-standard has-post-thumbnail hentry category-design tag-memories tag-normal-post tag-standard-2 excerpt zoom full-without-featured odd excerpt">
<div class="post type-post status-publish format-standard has-post-thumbnail hentry category-design tag-memories tag-normal-post tag-standard-2 excerpt zoom full-without-featured even excerpt">
@ -2630,6 +2695,6 @@ if (!doNotTrack) {
</div>
<script src="https://h.cowbay.org/js/jquery.min.js"></script>
<script src="https://h.cowbay.org/js/jquerymigrate.js"></script>
<script src="https://h.cowbay.org/js/production.min.js?v=1576652202"></script>
<script src="https://h.cowbay.org/js/production.min.js?v=1576828465"></script>
</body>

@ -6,11 +6,30 @@
<description>Recent content in 筆記 on MC部落</description>
<generator>Hugo -- gohugo.io</generator>
<language>en-us</language>
<lastBuildDate>Wed, 18 Dec 2019 14:44:27 +0800</lastBuildDate>
<lastBuildDate>Fri, 20 Dec 2019 14:31:42 +0800</lastBuildDate>
<atom:link href="https://h.cowbay.org/categories/%E7%AD%86%E8%A8%98/index.xml" rel="self" type="application/rss+xml" />
<item>
<title>[筆記] 測試 postgresql 的pg_prewarm 對效能的影響 / test pg_prewarm in postgresql 11</title>
<link>https://h.cowbay.org/post/test-pg_prewarm/</link>
<pubDate>Fri, 20 Dec 2019 14:31:42 +0800</pubDate>
<guid>https://h.cowbay.org/post/test-pg_prewarm/</guid>
<description>&lt;p&gt;老闆提到想要把新系統的 postgresql 資料庫都撈到記憶體裡面&lt;/p&gt;
&lt;p&gt;但是否決了我提出的ramdisk 作法(因為當機的話,資料就沒了)&lt;/p&gt;
&lt;p&gt;在找資料的時候發現了這個postgresql 的 pg_prewarm extension&lt;/p&gt;
&lt;p&gt;好像有點意思?就來測試看看吧!&lt;/p&gt;
&lt;p&gt;只是目前還不知道該怎麼解讀測試的數據就是了&amp;hellip;&lt;/p&gt;
&lt;p&gt;幹!林北真的不是 DBA 啦 =.=&lt;/p&gt;</description>
</item>
<item>
<title>[筆記] 在ansible playbook中不小心多打了一個空格 / Accidentally Typed an Extra Space in Ansible Playbook</title>
<link>https://h.cowbay.org/post/accidentally-typed-an-extra-space-in-ansible-playbook/</link>

@ -45,9 +45,9 @@
<link rel="stylesheet" href="https://use.fontawesome.com/releases/v5.3.1/css/all.css" integrity="sha384-mzrmE5qonljUremFsqc01SB46JvROS7bZs3IO2EmfFsd15uHvIt+Y8vEf7N7fWAU" crossorigin="anonymous">
<link href="https://h.cowbay.org/css/style.css?v=1576652202" rel="stylesheet" id="theme-stylesheet" type='text/css' media='all'>
<link href="https://h.cowbay.org/css/style.css?v=1576828466" rel="stylesheet" id="theme-stylesheet" type='text/css' media='all'>
<link href="https://h.cowbay.org/css/custom.css?v=1576652202" rel="stylesheet" type='text/css' media='all'>
<link href="https://h.cowbay.org/css/custom.css?v=1576828466" rel="stylesheet" type='text/css' media='all'>
<link rel="shortcut icon" href="https://h.cowbay.org/img/favicon.ico" type="image/x-icon">
<link rel="icon" href="https://h.cowbay.org/img/favicon.ico" type="image/x-icon">
@ -487,6 +487,6 @@ if (!doNotTrack) {
</div>
<script src="https://h.cowbay.org/js/jquery.min.js"></script>
<script src="https://h.cowbay.org/js/jquerymigrate.js"></script>
<script src="https://h.cowbay.org/js/production.min.js?v=1576652202"></script>
<script src="https://h.cowbay.org/js/production.min.js?v=1576828466"></script>
</body>

@ -45,9 +45,9 @@
<link rel="stylesheet" href="https://use.fontawesome.com/releases/v5.3.1/css/all.css" integrity="sha384-mzrmE5qonljUremFsqc01SB46JvROS7bZs3IO2EmfFsd15uHvIt+Y8vEf7N7fWAU" crossorigin="anonymous">
<link href="https://h.cowbay.org/css/style.css?v=1576652202" rel="stylesheet" id="theme-stylesheet" type='text/css' media='all'>
<link href="https://h.cowbay.org/css/style.css?v=1576828466" rel="stylesheet" id="theme-stylesheet" type='text/css' media='all'>
<link href="https://h.cowbay.org/css/custom.css?v=1576652202" rel="stylesheet" type='text/css' media='all'>
<link href="https://h.cowbay.org/css/custom.css?v=1576828466" rel="stylesheet" type='text/css' media='all'>
<link rel="shortcut icon" href="https://h.cowbay.org/img/favicon.ico" type="image/x-icon">
<link rel="icon" href="https://h.cowbay.org/img/favicon.ico" type="image/x-icon">
@ -455,7 +455,7 @@ if (!doNotTrack) {
</div>
<script src="https://h.cowbay.org/js/jquery.min.js"></script>
<script src="https://h.cowbay.org/js/jquerymigrate.js"></script>
<script src="https://h.cowbay.org/js/production.min.js?v=1576652202"></script>
<script src="https://h.cowbay.org/js/production.min.js?v=1576828466"></script>
</body>
</html>

@ -45,9 +45,9 @@
<link rel="stylesheet" href="https://use.fontawesome.com/releases/v5.3.1/css/all.css" integrity="sha384-mzrmE5qonljUremFsqc01SB46JvROS7bZs3IO2EmfFsd15uHvIt+Y8vEf7N7fWAU" crossorigin="anonymous">
<link href="https://h.cowbay.org/css/style.css?v=1576652202" rel="stylesheet" id="theme-stylesheet" type='text/css' media='all'>
<link href="https://h.cowbay.org/css/style.css?v=1576828466" rel="stylesheet" id="theme-stylesheet" type='text/css' media='all'>
<link href="https://h.cowbay.org/css/custom.css?v=1576652202" rel="stylesheet" type='text/css' media='all'>
<link href="https://h.cowbay.org/css/custom.css?v=1576828466" rel="stylesheet" type='text/css' media='all'>
<link rel="shortcut icon" href="https://h.cowbay.org/img/favicon.ico" type="image/x-icon">
<link rel="icon" href="https://h.cowbay.org/img/favicon.ico" type="image/x-icon">
@ -594,7 +594,7 @@ title="pinterest icon"></i>
</div>
<script src="https://h.cowbay.org/js/jquery.min.js"></script>
<script src="https://h.cowbay.org/js/jquerymigrate.js"></script>
<script src="https://h.cowbay.org/js/production.min.js?v=1576652202"></script>
<script src="https://h.cowbay.org/js/production.min.js?v=1576828466"></script>
</body>
</html>

@ -22,8 +22,8 @@
"accountablePerson" : "",
"copyrightHolder" : "",
"copyrightYear" : "2019",
"datePublished": "2019-12-18 14:44:27 \x2b0800 CST",
"dateModified" : "2019-12-18 14:44:27 \x2b0800 CST",
"datePublished": "2019-12-20 14:31:42 \x2b0800 CST",
"dateModified" : "2019-12-20 14:31:42 \x2b0800 CST",
"url" : "https:\/\/h.cowbay.org\/",
"wordCount" : "0",
"image" : "https://h.cowbay.org%!s(\u003cnil\u003e)"",
@ -46,9 +46,9 @@
<link rel="stylesheet" href="https://use.fontawesome.com/releases/v5.3.1/css/all.css" integrity="sha384-mzrmE5qonljUremFsqc01SB46JvROS7bZs3IO2EmfFsd15uHvIt+Y8vEf7N7fWAU" crossorigin="anonymous">
<link href="https://h.cowbay.org/css/style.css?v=1576652201" rel="stylesheet" id="theme-stylesheet" type='text/css' media='all'>
<link href="https://h.cowbay.org/css/style.css?v=1576828465" rel="stylesheet" id="theme-stylesheet" type='text/css' media='all'>
<link href="https://h.cowbay.org/css/custom.css?v=1576652201" rel="stylesheet" type='text/css' media='all'>
<link href="https://h.cowbay.org/css/custom.css?v=1576828465" rel="stylesheet" type='text/css' media='all'>
<link rel="shortcut icon" href="https://h.cowbay.org/img/favicon.ico" type="image/x-icon">
<link rel="icon" href="https://h.cowbay.org/img/favicon.ico" type="image/x-icon">
@ -288,12 +288,12 @@ if (!doNotTrack) {
<a class="featured-image-link" href="https://h.cowbay.org/post/accidentally-typed-an-extra-space-in-ansible-playbook/"><div class='featured-image lazy lazy-bg-image' data-background="https://h.cowbay.org/images/post-default-10.jpg"></div></a>
<a class="featured-image-link" href="https://h.cowbay.org/post/test-pg_prewarm/"><div class='featured-image lazy lazy-bg-image' data-background="https://h.cowbay.org/images/post-default-9.jpg"></div></a>
<div class="excerpt-container">
<div class="excerpt-meta">
<span class="date">18 December</span>
<span class="date">20 December</span>
@ -315,18 +315,24 @@ if (!doNotTrack) {
</div>
<div class='excerpt-header'>
<h2 class='excerpt-title'>
<a href="https://h.cowbay.org/post/accidentally-typed-an-extra-space-in-ansible-playbook/ "> [筆記] 在ansible playbook中不小心多打了一個空格 / Accidentally Typed an Extra Space in Ansible Playbook </a>
<a href="https://h.cowbay.org/post/test-pg_prewarm/ "> [筆記] 測試 postgresql 的pg_prewarm 對效能的影響 / test pg_prewarm in postgresql 11 </a>
</h2>
</div>
<div class='excerpt-content'>
<article>
<p>剛剛在跑一個修改過的playbook卻發現一個詭異的狀況</p>
<p>老闆提到想要把新系統的 postgresql 資料庫都撈到記憶體裡面</p>
<p>在用template產生檔案之前爲了避免錯誤所以我先用 file module 去建立目錄</p>
<p>但是否決了我提出的ramdisk 作法(因為當機的話,資料就沒了)</p>
<p>怪就怪在建立目錄的task沒錯但是要產生檔案時卻出現了目的目錄不存在的錯誤</p>
<p>在找資料的時候發現了這個postgresql 的 pg_prewarm extension</p>
<div class="more-link-wrapper"><a class="more-link" href="https://h.cowbay.org/post/accidentally-typed-an-extra-space-in-ansible-playbook/">Read the post<span class="screen-reader-text">This is a Standard Post</span></a></div>
<p>好像有點意思?就來測試看看吧!</p>
<p>只是目前還不知道該怎麼解讀測試的數據就是了&hellip;</p>
<p>幹!林北真的不是 DBA 啦 =.=</p>
<div class="more-link-wrapper"><a class="more-link" href="https://h.cowbay.org/post/test-pg_prewarm/">Read the post<span class="screen-reader-text">This is a Standard Post</span></a></div>
</article>
</div>
</div>
@ -344,12 +350,12 @@ if (!doNotTrack) {
<a class="featured-image-link" href="https://h.cowbay.org/post/add-system-wide-favorite-apps-in-dconf/"><div class='featured-image lazy lazy-bg-image' data-background="https://h.cowbay.org/images/post-default-2.jpg"></div></a>
<a class="featured-image-link" href="https://h.cowbay.org/post/accidentally-typed-an-extra-space-in-ansible-playbook/"><div class='featured-image lazy lazy-bg-image' data-background="https://h.cowbay.org/images/post-default-10.jpg"></div></a>
<div class="excerpt-container">
<div class="excerpt-meta">
<span class="date">16 December</span>
<span class="date">18 December</span>
@ -371,20 +377,18 @@ if (!doNotTrack) {
</div>
<div class='excerpt-header'>
<h2 class='excerpt-title'>
<a href="https://h.cowbay.org/post/add-system-wide-favorite-apps-in-dconf/ "> 在ubuntu 18.04中,透過 dconf 設定系統層級的「我的最愛」/ Add System Wide Favorite Apps in dock with Dconf in ubuntu 18.04 </a>
<a href="https://h.cowbay.org/post/accidentally-typed-an-extra-space-in-ansible-playbook/ "> [筆記] 在ansible playbook中不小心多打了一個空格 / Accidentally Typed an Extra Space in Ansible Playbook </a>
</h2>
</div>
<div class='excerpt-content'>
<article>
<p>這幾天在ansible 寫了一份新的playbook給developer 用</p>
<p>然後user反映說希望能在ubuntu 18.04 內建的dock 裏面新增一個gnome-terminal的icon</p>
<p>剛剛在跑一個修改過的playbook卻發現一個詭異的狀況</p>
<p>我才發現原來之前的寫法不能用在 ubuntu 18.04 上</p>
<p>在用template產生檔案之前爲了避免錯誤所以我先用 file module 去建立目錄</p>
<p>只好又弄了一份出來</p>
<p>怪就怪在建立目錄的task沒錯但是要產生檔案時卻出現了目的目錄不存在的錯誤</p>
<div class="more-link-wrapper"><a class="more-link" href="https://h.cowbay.org/post/add-system-wide-favorite-apps-in-dconf/">Read the post<span class="screen-reader-text">This is a Standard Post</span></a></div>
<div class="more-link-wrapper"><a class="more-link" href="https://h.cowbay.org/post/accidentally-typed-an-extra-space-in-ansible-playbook/">Read the post<span class="screen-reader-text">This is a Standard Post</span></a></div>
</article>
</div>
</div>
@ -402,12 +406,12 @@ if (!doNotTrack) {
<a class="featured-image-link" href="https://h.cowbay.org/post/ubuntu-dconf-proxy-settings/"><div class='featured-image lazy lazy-bg-image' data-background="https://h.cowbay.org/images/post-default-7.jpg"></div></a>
<a class="featured-image-link" href="https://h.cowbay.org/post/add-system-wide-favorite-apps-in-dconf/"><div class='featured-image lazy lazy-bg-image' data-background="https://h.cowbay.org/images/post-default-2.jpg"></div></a>
<div class="excerpt-container">
<div class="excerpt-meta">
<span class="date">31 October</span>
<span class="date">16 December</span>
@ -429,28 +433,20 @@ if (!doNotTrack) {
</div>
<div class='excerpt-header'>
<h2 class='excerpt-title'>
<a href="https://h.cowbay.org/post/ubuntu-dconf-proxy-settings/ "> [筆記] ubuntu 18.04 透過 dconf 修改系統 proxy / modify system proxy with dconf in ubuntu 18.04 </a>
<a href="https://h.cowbay.org/post/add-system-wide-favorite-apps-in-dconf/ "> 在ubuntu 18.04中,透過 dconf 設定系統層級的「我的最愛」/ Add System Wide Favorite Apps in dock with Dconf in ubuntu 18.04 </a>
</h2>
</div>
<div class='excerpt-content'>
<article>
<p>最近在準備升級client 的作業系統,從 ubuntu 14.04 準備升級到 18.04 或明年的 20.04</p>
<p>因為公司政策的關係所以現在要連接internet ,需要申請</p>
<p>然後 user 再去系統的proxy 設定新增一個 PAC 檔</p>
<p>但是這個動作其實是去叫NetworkManager 這個服務</p>
<p>可是在18.04 上我會把這個服務關掉因為他會干擾我的DNS設定</p>
<p>這幾天在ansible 寫了一份新的playbook給developer 用</p>
<p>所以想試試看有沒有辦法不使用 NetworkManager 服務</p>
<p>然後user反映說希望能在ubuntu 18.04 內建的dock 裏面新增一個gnome-terminal的icon</p>
<p>又能夠在 user level 修改 proxy 參數</p>
<p>我才發現原來之前的寫法不能用在 ubuntu 18.04 上</p>
<p>就想到了用 dconf 來做</p>
<p>只好又弄了一份出來</p>
<div class="more-link-wrapper"><a class="more-link" href="https://h.cowbay.org/post/ubuntu-dconf-proxy-settings/">Read the post<span class="screen-reader-text">This is a Standard Post</span></a></div>
<div class="more-link-wrapper"><a class="more-link" href="https://h.cowbay.org/post/add-system-wide-favorite-apps-in-dconf/">Read the post<span class="screen-reader-text">This is a Standard Post</span></a></div>
</article>
</div>
</div>
@ -468,12 +464,12 @@ if (!doNotTrack) {
<a class="featured-image-link" href="https://h.cowbay.org/post/awesome-all-in-one-vpn-server-streisand/"><div class='featured-image lazy lazy-bg-image' data-background="https://h.cowbay.org/images/post-default-18.jpg"></div></a>
<a class="featured-image-link" href="https://h.cowbay.org/post/ubuntu-dconf-proxy-settings/"><div class='featured-image lazy lazy-bg-image' data-background="https://h.cowbay.org/images/post-default-7.jpg"></div></a>
<div class="excerpt-container">
<div class="excerpt-meta">
<span class="date">14 October</span>
<span class="date">31 October</span>
@ -495,20 +491,28 @@ if (!doNotTrack) {
</div>
<div class='excerpt-header'>
<h2 class='excerpt-title'>
<a href="https://h.cowbay.org/post/awesome-all-in-one-vpn-server-streisand/ "> [筆記] 超強的ALL-in-One VPN Server streisand / Awesome All in One Vpn Server Streisand </a>
<a href="https://h.cowbay.org/post/ubuntu-dconf-proxy-settings/ "> [筆記] ubuntu 18.04 透過 dconf 修改系統 proxy / modify system proxy with dconf in ubuntu 18.04 </a>
</h2>
</div>
<div class='excerpt-content'>
<article>
<p>最近上班閒得發慌,沒事就上 github 找看看有沒有什麼好玩的專案</p>
<p>最近在準備升級client 的作業系統,從 ubuntu 14.04 準備升級到 18.04 或明年的 20.04</p>
<p>就不小心發現了這個 streisand</p>
<p>因為公司政策的關係所以現在要連接internet ,需要申請</p>
<p><a href="https://github.com/StreisandEffect/streisand">https://github.com/StreisandEffect/streisand</a></p>
<p>然後 user 再去系統的proxy 設定新增一個 PAC 檔</p>
<p>玩了一下發現這根本就是終極的VPN Server solution ..</p>
<p>但是這個動作其實是去叫NetworkManager 這個服務</p>
<div class="more-link-wrapper"><a class="more-link" href="https://h.cowbay.org/post/awesome-all-in-one-vpn-server-streisand/">Read the post<span class="screen-reader-text">This is a Standard Post</span></a></div>
<p>可是在18.04 上我會把這個服務關掉因為他會干擾我的DNS設定</p>
<p>所以想試試看有沒有辦法不使用 NetworkManager 服務</p>
<p>又能夠在 user level 修改 proxy 參數</p>
<p>就想到了用 dconf 來做</p>
<div class="more-link-wrapper"><a class="more-link" href="https://h.cowbay.org/post/ubuntu-dconf-proxy-settings/">Read the post<span class="screen-reader-text">This is a Standard Post</span></a></div>
</article>
</div>
</div>
@ -526,12 +530,12 @@ if (!doNotTrack) {
<a class="featured-image-link" href="https://h.cowbay.org/post/recommended-ulauncher-in-ubuntu-1804/"><div class='featured-image lazy lazy-bg-image' data-background="https://h.cowbay.org/images/post-default-16.jpg"></div></a>
<a class="featured-image-link" href="https://h.cowbay.org/post/awesome-all-in-one-vpn-server-streisand/"><div class='featured-image lazy lazy-bg-image' data-background="https://h.cowbay.org/images/post-default-18.jpg"></div></a>
<div class="excerpt-container">
<div class="excerpt-meta">
<span class="date">04 October</span>
<span class="date">14 October</span>
@ -547,22 +551,26 @@ if (!doNotTrack) {
<span> / </span>
<span class="category">
<a href="/categories/"></a>
<a href="/categories/%E7%AD%86%E8%A8%98">筆記</a>
</span>
</div>
<div class='excerpt-header'>
<h2 class='excerpt-title'>
<a href="https://h.cowbay.org/post/recommended-ulauncher-in-ubuntu-1804/ "> [推薦] ulauncher ubuntu 18.04 底下,好用的 app launcher / Recommended Ulauncher in Ubuntu 1804 </a>
<a href="https://h.cowbay.org/post/awesome-all-in-one-vpn-server-streisand/ "> [筆記] 超強的ALL-in-One VPN Server streisand / Awesome All in One Vpn Server Streisand </a>
</h2>
</div>
<div class='excerpt-content'>
<article>
<p>這兩天在找關於在 ubuntu 中做搜尋的軟體</p>
<p>最近上班閒得發慌,沒事就上 github 找看看有沒有什麼好玩的專案</p>
<p>就不小心發現了這個 streisand</p>
<p>意外找到一個非常好用的工具 ulauncher</p>
<p><a href="https://github.com/StreisandEffect/streisand">https://github.com/StreisandEffect/streisand</a></p>
<div class="more-link-wrapper"><a class="more-link" href="https://h.cowbay.org/post/recommended-ulauncher-in-ubuntu-1804/">Read the post<span class="screen-reader-text">This is a Standard Post</span></a></div>
<p>玩了一下發現這根本就是終極的VPN Server solution ..</p>
<div class="more-link-wrapper"><a class="more-link" href="https://h.cowbay.org/post/awesome-all-in-one-vpn-server-streisand/">Read the post<span class="screen-reader-text">This is a Standard Post</span></a></div>
</article>
</div>
</div>
@ -810,7 +818,7 @@ if (!doNotTrack) {
</div>
<script src="https://h.cowbay.org/js/jquery.min.js"></script>
<script src="https://h.cowbay.org/js/jquerymigrate.js"></script>
<script src="https://h.cowbay.org/js/production.min.js?v=1576652201"></script>
<script src="https://h.cowbay.org/js/production.min.js?v=1576828465"></script>
</body>
</html>

@ -6,11 +6,30 @@
<description>Recent content on MC部落</description>
<generator>Hugo -- gohugo.io</generator>
<language>en-us</language>
<lastBuildDate>Wed, 18 Dec 2019 14:44:27 +0800</lastBuildDate>
<lastBuildDate>Fri, 20 Dec 2019 14:31:42 +0800</lastBuildDate>
<atom:link href="https://h.cowbay.org/index.xml" rel="self" type="application/rss+xml" />
<item>
<title>[筆記] 測試 postgresql 的pg_prewarm 對效能的影響 / test pg_prewarm in postgresql 11</title>
<link>https://h.cowbay.org/post/test-pg_prewarm/</link>
<pubDate>Fri, 20 Dec 2019 14:31:42 +0800</pubDate>
<guid>https://h.cowbay.org/post/test-pg_prewarm/</guid>
<description>&lt;p&gt;老闆提到想要把新系統的 postgresql 資料庫都撈到記憶體裡面&lt;/p&gt;
&lt;p&gt;但是否決了我提出的ramdisk 作法(因為當機的話,資料就沒了)&lt;/p&gt;
&lt;p&gt;在找資料的時候發現了這個postgresql 的 pg_prewarm extension&lt;/p&gt;
&lt;p&gt;好像有點意思?就來測試看看吧!&lt;/p&gt;
&lt;p&gt;只是目前還不知道該怎麼解讀測試的數據就是了&amp;hellip;&lt;/p&gt;
&lt;p&gt;幹!林北真的不是 DBA 啦 =.=&lt;/p&gt;</description>
</item>
<item>
<title>[筆記] 在ansible playbook中不小心多打了一個空格 / Accidentally Typed an Extra Space in Ansible Playbook</title>
<link>https://h.cowbay.org/post/accidentally-typed-an-extra-space-in-ansible-playbook/</link>

@ -22,8 +22,8 @@
"accountablePerson" : "",
"copyrightHolder" : "",
"copyrightYear" : "2019",
"datePublished": "2019-12-18 14:44:27 \x2b0800 CST",
"dateModified" : "2019-12-18 14:44:27 \x2b0800 CST",
"datePublished": "2019-12-20 14:31:42 \x2b0800 CST",
"dateModified" : "2019-12-20 14:31:42 \x2b0800 CST",
"url" : "https:\/\/h.cowbay.org\/",
"wordCount" : "0",
"image" : "https://h.cowbay.org%!s(\u003cnil\u003e)"",
@ -46,9 +46,9 @@
<link rel="stylesheet" href="https://use.fontawesome.com/releases/v5.3.1/css/all.css" integrity="sha384-mzrmE5qonljUremFsqc01SB46JvROS7bZs3IO2EmfFsd15uHvIt+Y8vEf7N7fWAU" crossorigin="anonymous">
<link href="https://h.cowbay.org/css/style.css?v=1576652201" rel="stylesheet" id="theme-stylesheet" type='text/css' media='all'>
<link href="https://h.cowbay.org/css/style.css?v=1576828465" rel="stylesheet" id="theme-stylesheet" type='text/css' media='all'>
<link href="https://h.cowbay.org/css/custom.css?v=1576652201" rel="stylesheet" type='text/css' media='all'>
<link href="https://h.cowbay.org/css/custom.css?v=1576828465" rel="stylesheet" type='text/css' media='all'>
<link rel="shortcut icon" href="https://h.cowbay.org/img/favicon.ico" type="image/x-icon">
<link rel="icon" href="https://h.cowbay.org/img/favicon.ico" type="image/x-icon">
@ -288,12 +288,12 @@ if (!doNotTrack) {
<a class="featured-image-link" href="https://h.cowbay.org/post/pg_auto_failover_in_ubuntu_1804_psql_11/"><div class='featured-image lazy lazy-bg-image' data-background="https://h.cowbay.org/images/post-default-11.jpg"></div></a>
<a class="featured-image-link" href="https://h.cowbay.org/post/recommended-ulauncher-in-ubuntu-1804/"><div class='featured-image lazy lazy-bg-image' data-background="https://h.cowbay.org/images/post-default-16.jpg"></div></a>
<div class="excerpt-container">
<div class="excerpt-meta">
<span class="date">20 September</span>
<span class="date">04 October</span>
@ -309,30 +309,22 @@ if (!doNotTrack) {
<span> / </span>
<span class="category">
<a href="/categories/%E7%AD%86%E8%A8%98">筆記</a>
<a href="/categories/"></a>
</span>
</div>
<div class='excerpt-header'>
<h2 class='excerpt-title'>
<a href="https://h.cowbay.org/post/pg_auto_failover_in_ubuntu_1804_psql_11/ "> [筆記] 在ubuntu 18.04安裝psql 11 以及 pg_auto_failover / install psql 11 and pg_auto_failover in ubuntu 18.04 </a>
<a href="https://h.cowbay.org/post/recommended-ulauncher-in-ubuntu-1804/ "> [推薦] ulauncher ubuntu 18.04 底下,好用的 app launcher / Recommended Ulauncher in Ubuntu 1804 </a>
</h2>
</div>
<div class='excerpt-content'>
<article>
<p>最近都在弄postgresql</p>
<p>備份、還原測試得差不多了,就等著看到時候要用什麼方式</p>
<p>前幾天看到 pg_auto_failover 這個postgresql 的extension</p>
<p>這兩天在找關於在 ubuntu 中做搜尋的軟體</p>
<p><a href="https://github.com/citusdata/pg_auto_failover">https://github.com/citusdata/pg_auto_failover</a></p>
<p>感覺挺不錯的,看起來設定很簡單,雖然之前已經測試了 keepalived 做 HA</p>
<p>不過,反正當作練功嘛,多測試一套也不錯!</p>
<p>意外找到一個非常好用的工具 ulauncher</p>
<div class="more-link-wrapper"><a class="more-link" href="https://h.cowbay.org/post/pg_auto_failover_in_ubuntu_1804_psql_11/">Read the post<span class="screen-reader-text">This is a Standard Post</span></a></div>
<div class="more-link-wrapper"><a class="more-link" href="https://h.cowbay.org/post/recommended-ulauncher-in-ubuntu-1804/">Read the post<span class="screen-reader-text">This is a Standard Post</span></a></div>
</article>
</div>
</div>
@ -350,12 +342,12 @@ if (!doNotTrack) {
<a class="featured-image-link" href="https://h.cowbay.org/post/bencmark-with-external-internal-nvme-ssd-and-external-sata-ssd/"><div class='featured-image lazy lazy-bg-image' data-background="https://h.cowbay.org/images/post-default-9.jpg"></div></a>
<a class="featured-image-link" href="https://h.cowbay.org/post/pg_auto_failover_in_ubuntu_1804_psql_11/"><div class='featured-image lazy lazy-bg-image' data-background="https://h.cowbay.org/images/post-default-11.jpg"></div></a>
<div class="excerpt-container">
<div class="excerpt-meta">
<span class="date">10 September</span>
<span class="date">20 September</span>
@ -377,16 +369,24 @@ if (!doNotTrack) {
</div>
<div class='excerpt-header'>
<h2 class='excerpt-title'>
<a href="https://h.cowbay.org/post/bencmark-with-external-internal-nvme-ssd-and-external-sata-ssd/ "> [筆記] 測試 USB 3.1 Gen2 NVME SSD 外接盒 &amp; 內建pci-e ssd &amp; 外接SATA SSD / Bencmark With External Internal Nvme Ssd and External Sata Ssd </a>
<a href="https://h.cowbay.org/post/pg_auto_failover_in_ubuntu_1804_psql_11/ "> [筆記] 在ubuntu 18.04安裝psql 11 以及 pg_auto_failover / install psql 11 and pg_auto_failover in ubuntu 18.04 </a>
</h2>
</div>
<div class='excerpt-content'>
<article>
<p>前幾天在淘寶上買了個 SSK 的USB 3.1 Gen2 (type-c) NVME SSD 外接盒
手邊也剛好有一條多的intel 600p nvme ssd 就順手來做個比較
目標是看看有沒有可能直接用外接的SSD來跑postgresql</p>
<p>最近都在弄postgresql</p>
<div class="more-link-wrapper"><a class="more-link" href="https://h.cowbay.org/post/bencmark-with-external-internal-nvme-ssd-and-external-sata-ssd/">Read the post<span class="screen-reader-text">This is a Standard Post</span></a></div>
<p>備份、還原測試得差不多了,就等著看到時候要用什麼方式</p>
<p>前幾天看到 pg_auto_failover 這個postgresql 的extension</p>
<p><a href="https://github.com/citusdata/pg_auto_failover">https://github.com/citusdata/pg_auto_failover</a></p>
<p>感覺挺不錯的,看起來設定很簡單,雖然之前已經測試了 keepalived 做 HA</p>
<p>不過,反正當作練功嘛,多測試一套也不錯!</p>
<div class="more-link-wrapper"><a class="more-link" href="https://h.cowbay.org/post/pg_auto_failover_in_ubuntu_1804_psql_11/">Read the post<span class="screen-reader-text">This is a Standard Post</span></a></div>
</article>
</div>
</div>
@ -404,12 +404,12 @@ if (!doNotTrack) {
<a class="featured-image-link" href="https://h.cowbay.org/post/postgresql-backup-restore-using-zfs-snapshot/"><div class='featured-image lazy lazy-bg-image' data-background="https://h.cowbay.org/images/post-default-5.jpg"></div></a>
<a class="featured-image-link" href="https://h.cowbay.org/post/bencmark-with-external-internal-nvme-ssd-and-external-sata-ssd/"><div class='featured-image lazy lazy-bg-image' data-background="https://h.cowbay.org/images/post-default-9.jpg"></div></a>
<div class="excerpt-container">
<div class="excerpt-meta">
<span class="date">06 September</span>
<span class="date">10 September</span>
@ -431,18 +431,16 @@ if (!doNotTrack) {
</div>
<div class='excerpt-header'>
<h2 class='excerpt-title'>
<a href="https://h.cowbay.org/post/postgresql-backup-restore-using-zfs-snapshot/ "> [筆記] 用zfs的snapshot 快照功能來做 postgresql 的備份還原 / Postgresql Backup Restore Using Zfs Snapshot </a>
<a href="https://h.cowbay.org/post/bencmark-with-external-internal-nvme-ssd-and-external-sata-ssd/ "> [筆記] 測試 USB 3.1 Gen2 NVME SSD 外接盒 &amp; 內建pci-e ssd &amp; 外接SATA SSD / Bencmark With External Internal Nvme Ssd and External Sata Ssd </a>
</h2>
</div>
<div class='excerpt-content'>
<article>
<p>前面測試了用pgbarman / pgbackrest 來備份 postgresql</p>
<p>這次改從system file level 來下手</p>
<p>採用zfs 的快照來備份、還原postgresql 資料庫</p>
<p>前幾天在淘寶上買了個 SSK 的USB 3.1 Gen2 (type-c) NVME SSD 外接盒
手邊也剛好有一條多的intel 600p nvme ssd 就順手來做個比較
目標是看看有沒有可能直接用外接的SSD來跑postgresql</p>
<div class="more-link-wrapper"><a class="more-link" href="https://h.cowbay.org/post/postgresql-backup-restore-using-zfs-snapshot/">Read the post<span class="screen-reader-text">This is a Standard Post</span></a></div>
<div class="more-link-wrapper"><a class="more-link" href="https://h.cowbay.org/post/bencmark-with-external-internal-nvme-ssd-and-external-sata-ssd/">Read the post<span class="screen-reader-text">This is a Standard Post</span></a></div>
</article>
</div>
</div>
@ -460,12 +458,12 @@ if (!doNotTrack) {
<a class="featured-image-link" href="https://h.cowbay.org/post/backup-restore-postgresql-with-pgbackrest/"><div class='featured-image lazy lazy-bg-image' data-background="https://h.cowbay.org/images/post-default-15.jpg"></div></a>
<a class="featured-image-link" href="https://h.cowbay.org/post/postgresql-backup-restore-using-zfs-snapshot/"><div class='featured-image lazy lazy-bg-image' data-background="https://h.cowbay.org/images/post-default-5.jpg"></div></a>
<div class="excerpt-container">
<div class="excerpt-meta">
<span class="date">05 September</span>
<span class="date">06 September</span>
@ -487,14 +485,18 @@ if (!doNotTrack) {
</div>
<div class='excerpt-header'>
<h2 class='excerpt-title'>
<a href="https://h.cowbay.org/post/backup-restore-postgresql-with-pgbackrest/ "> [筆記] 用pbackrest 備份還原 postgresql / Backup Restore Postgresql With Pgbackrest </a>
<a href="https://h.cowbay.org/post/postgresql-backup-restore-using-zfs-snapshot/ "> [筆記] 用zfs的snapshot 快照功能來做 postgresql 的備份還原 / Postgresql Backup Restore Using Zfs Snapshot </a>
</h2>
</div>
<div class='excerpt-content'>
<article>
<p>這兩天在測試pgbackrest ,簡單筆記一下測試狀況</p>
<p>前面測試了用pgbarman / pgbackrest 來備份 postgresql</p>
<div class="more-link-wrapper"><a class="more-link" href="https://h.cowbay.org/post/backup-restore-postgresql-with-pgbackrest/">Read the post<span class="screen-reader-text">This is a Standard Post</span></a></div>
<p>這次改從system file level 來下手</p>
<p>採用zfs 的快照來備份、還原postgresql 資料庫</p>
<div class="more-link-wrapper"><a class="more-link" href="https://h.cowbay.org/post/postgresql-backup-restore-using-zfs-snapshot/">Read the post<span class="screen-reader-text">This is a Standard Post</span></a></div>
</article>
</div>
</div>
@ -512,12 +514,12 @@ if (!doNotTrack) {
<a class="featured-image-link" href="https://h.cowbay.org/post/pgbarman-in-ubuntu-1804-postgresql-10-via-ssh/"><div class='featured-image lazy lazy-bg-image' data-background="https://h.cowbay.org/images/post-default-4.jpg"></div></a>
<a class="featured-image-link" href="https://h.cowbay.org/post/backup-restore-postgresql-with-pgbackrest/"><div class='featured-image lazy lazy-bg-image' data-background="https://h.cowbay.org/images/post-default-15.jpg"></div></a>
<div class="excerpt-container">
<div class="excerpt-meta">
<span class="date">23 August</span>
<span class="date">05 September</span>
@ -539,14 +541,14 @@ if (!doNotTrack) {
</div>
<div class='excerpt-header'>
<h2 class='excerpt-title'>
<a href="https://h.cowbay.org/post/pgbarman-in-ubuntu-1804-postgresql-10-via-ssh/ "> [筆記] 在Ubuntu 18.04 下 透過 pgbarman rsync/ssh backup 備份 postgresql 10 / backup postgresql 10 with pgbarman via ssh/rsync in ubuntu 18.04 </a>
<a href="https://h.cowbay.org/post/backup-restore-postgresql-with-pgbackrest/ "> [筆記] 用pbackrest 備份還原 postgresql / Backup Restore Postgresql With Pgbackrest </a>
</h2>
</div>
<div class='excerpt-content'>
<article>
<p>篇繼續講 pgbarman 透過 rsync/ssh 來備份 postgresql 資料庫的方式</p>
<p>兩天在測試pgbackrest ,簡單筆記一下測試狀況</p>
<div class="more-link-wrapper"><a class="more-link" href="https://h.cowbay.org/post/pgbarman-in-ubuntu-1804-postgresql-10-via-ssh/">Read the post<span class="screen-reader-text">This is a Standard Post</span></a></div>
<div class="more-link-wrapper"><a class="more-link" href="https://h.cowbay.org/post/backup-restore-postgresql-with-pgbackrest/">Read the post<span class="screen-reader-text">This is a Standard Post</span></a></div>
</article>
</div>
</div>
@ -796,7 +798,7 @@ if (!doNotTrack) {
</div>
<script src="https://h.cowbay.org/js/jquery.min.js"></script>
<script src="https://h.cowbay.org/js/jquerymigrate.js"></script>
<script src="https://h.cowbay.org/js/production.min.js?v=1576652202"></script>
<script src="https://h.cowbay.org/js/production.min.js?v=1576828465"></script>
</body>
</html>

@ -22,8 +22,8 @@
"accountablePerson" : "",
"copyrightHolder" : "",
"copyrightYear" : "2019",
"datePublished": "2019-12-18 14:44:27 \x2b0800 CST",
"dateModified" : "2019-12-18 14:44:27 \x2b0800 CST",
"datePublished": "2019-12-20 14:31:42 \x2b0800 CST",
"dateModified" : "2019-12-20 14:31:42 \x2b0800 CST",
"url" : "https:\/\/h.cowbay.org\/",
"wordCount" : "0",
"image" : "https://h.cowbay.org%!s(\u003cnil\u003e)"",
@ -46,9 +46,9 @@
<link rel="stylesheet" href="https://use.fontawesome.com/releases/v5.3.1/css/all.css" integrity="sha384-mzrmE5qonljUremFsqc01SB46JvROS7bZs3IO2EmfFsd15uHvIt+Y8vEf7N7fWAU" crossorigin="anonymous">
<link href="https://h.cowbay.org/css/style.css?v=1576652202" rel="stylesheet" id="theme-stylesheet" type='text/css' media='all'>
<link href="https://h.cowbay.org/css/style.css?v=1576828465" rel="stylesheet" id="theme-stylesheet" type='text/css' media='all'>
<link href="https://h.cowbay.org/css/custom.css?v=1576652202" rel="stylesheet" type='text/css' media='all'>
<link href="https://h.cowbay.org/css/custom.css?v=1576828465" rel="stylesheet" type='text/css' media='all'>
<link rel="shortcut icon" href="https://h.cowbay.org/img/favicon.ico" type="image/x-icon">
<link rel="icon" href="https://h.cowbay.org/img/favicon.ico" type="image/x-icon">
@ -288,7 +288,7 @@ if (!doNotTrack) {
<a class="featured-image-link" href="https://h.cowbay.org/post/pgbarman-in-ubuntu-1804-postgresql-10/"><div class='featured-image lazy lazy-bg-image' data-background="https://h.cowbay.org/images/post-default-4.jpg"></div></a>
<a class="featured-image-link" href="https://h.cowbay.org/post/pgbarman-in-ubuntu-1804-postgresql-10-via-ssh/"><div class='featured-image lazy lazy-bg-image' data-background="https://h.cowbay.org/images/post-default-4.jpg"></div></a>
<div class="excerpt-container">
@ -315,20 +315,14 @@ if (!doNotTrack) {
</div>
<div class='excerpt-header'>
<h2 class='excerpt-title'>
<a href="https://h.cowbay.org/post/pgbarman-in-ubuntu-1804-postgresql-10/ "> [筆記] 在Ubuntu 18.04 下 透過 pgbarman streaming backup 備份 postgresql 10/ backup postgresql 10 with pgbarman straming backup in ubuntu 18.04 </a>
<a href="https://h.cowbay.org/post/pgbarman-in-ubuntu-1804-postgresql-10-via-ssh/ "> [筆記] 在Ubuntu 18.04 下 透過 pgbarman rsync/ssh backup 備份 postgresql 10 / backup postgresql 10 with pgbarman via ssh/rsync in ubuntu 18.04 </a>
</h2>
</div>
<div class='excerpt-content'>
<article>
<p>很久以前就有看到這個用來備份postgresql 的 pgbarman</p>
<p>這篇繼續講 pgbarman 透過 rsync/ssh 來備份 postgresql 資料庫的方式</p>
<p><a href="https://www.pgbarman.org/">https://www.pgbarman.org/</a></p>
<p>前幾天老闆在slack 上面又提到,所以這次就花了點時間來玩玩看</p>
<p>不過呢,雖然有弄起來,但是還真不知道有些問題是怎麼解決的&hellip;</p>
<div class="more-link-wrapper"><a class="more-link" href="https://h.cowbay.org/post/pgbarman-in-ubuntu-1804-postgresql-10/">Read the post<span class="screen-reader-text">This is a Standard Post</span></a></div>
<div class="more-link-wrapper"><a class="more-link" href="https://h.cowbay.org/post/pgbarman-in-ubuntu-1804-postgresql-10-via-ssh/">Read the post<span class="screen-reader-text">This is a Standard Post</span></a></div>
</article>
</div>
</div>
@ -346,12 +340,12 @@ if (!doNotTrack) {
<a class="featured-image-link" href="https://h.cowbay.org/post/install-nvidia-driver-cuda-pgstrom-in-ubuntu-1804/"><div class='featured-image lazy lazy-bg-image' data-background="https://h.cowbay.org/images/post-default-7.jpg"></div></a>
<a class="featured-image-link" href="https://h.cowbay.org/post/pgbarman-in-ubuntu-1804-postgresql-10/"><div class='featured-image lazy lazy-bg-image' data-background="https://h.cowbay.org/images/post-default-4.jpg"></div></a>
<div class="excerpt-container">
<div class="excerpt-meta">
<span class="date">20 August</span>
<span class="date">23 August</span>
@ -373,20 +367,20 @@ if (!doNotTrack) {
</div>
<div class='excerpt-header'>
<h2 class='excerpt-title'>
<a href="https://h.cowbay.org/post/install-nvidia-driver-cuda-pgstrom-in-ubuntu-1804/ "> [筆記] 在ubuntu 18.04 下安裝nvidia 顯示卡驅動程式以及 pgstrom / Install Nvidia Driver Cuda Pgstrom in Ubuntu 1804 </a>
<a href="https://h.cowbay.org/post/pgbarman-in-ubuntu-1804-postgresql-10/ "> [筆記] 在Ubuntu 18.04 下 透過 pgbarman streaming backup 備份 postgresql 10/ backup postgresql 10 with pgbarman straming backup in ubuntu 18.04 </a>
</h2>
</div>
<div class='excerpt-content'>
<article>
<p>因為老闆說要試試看用GPU 來跑postgresql 威力</p>
<p>很久以前就有看到這個用來備份postgresql 的 pgbarman</p>
<p>手邊剛好有一張 geforce gt 720</p>
<p><a href="https://www.pgbarman.org/">https://www.pgbarman.org/</a></p>
<p>一開始沒想太多看到有這張卡的驅動程式然後CUDA也有支援</p>
<p>前幾天老闆在slack 上面又提到,所以這次就花了點時間來玩玩看</p>
<p>就直接從桌機拔下來接去LAB Server ,然後就開始一連串的難關了&hellip;</p>
<p>不過呢,雖然有弄起來,但是還真不知道有些問題是怎麼解決的&hellip;</p>
<div class="more-link-wrapper"><a class="more-link" href="https://h.cowbay.org/post/install-nvidia-driver-cuda-pgstrom-in-ubuntu-1804/">Read the post<span class="screen-reader-text">This is a Standard Post</span></a></div>
<div class="more-link-wrapper"><a class="more-link" href="https://h.cowbay.org/post/pgbarman-in-ubuntu-1804-postgresql-10/">Read the post<span class="screen-reader-text">This is a Standard Post</span></a></div>
</article>
</div>
</div>
@ -404,12 +398,12 @@ if (!doNotTrack) {
<a class="featured-image-link" href="https://h.cowbay.org/post/do-no-use-10-0-0-0-private-ipaddr-in-gcp/"><div class='featured-image lazy lazy-bg-image' data-background="https://h.cowbay.org/images/post-default-8.jpg"></div></a>
<a class="featured-image-link" href="https://h.cowbay.org/post/install-nvidia-driver-cuda-pgstrom-in-ubuntu-1804/"><div class='featured-image lazy lazy-bg-image' data-background="https://h.cowbay.org/images/post-default-7.jpg"></div></a>
<div class="excerpt-container">
<div class="excerpt-meta">
<span class="date">16 August</span>
<span class="date">20 August</span>
@ -431,26 +425,20 @@ if (!doNotTrack) {
</div>
<div class='excerpt-header'>
<h2 class='excerpt-title'>
<a href="https://h.cowbay.org/post/do-no-use-10-0-0-0-private-ipaddr-in-gcp/ "> [筆記] 在gcp 中用wireguard建立VPN時不要用 10.0.0.0/16 網段/Do No Use 10 0 0 0 Private Ipaddr in GCP </a>
<a href="https://h.cowbay.org/post/install-nvidia-driver-cuda-pgstrom-in-ubuntu-1804/ "> [筆記] 在ubuntu 18.04 下安裝nvidia 顯示卡驅動程式以及 pgstrom / Install Nvidia Driver Cuda Pgstrom in Ubuntu 1804 </a>
</h2>
</div>
<div class='excerpt-content'>
<article>
<p>最近一直在玩 wireguard 先前把各個分公司和總部的VPN 改用 wireguard 建立</p>
<p>想說再打個VPN tunnel 來當跳板連 ptt 好了</p>
<p>因為wireguard 建立很簡單,而且又可以指定想要繞出去的路由,不會影響原本的網路環境</p>
<p>本來是在vultr 的VPS上面建立這個tunnel</p>
<p>因為老闆說要試試看用GPU 來跑postgresql 威力</p>
<p>但是那台VPS連去ptt 很頓,卡卡的</p>
<p>手邊剛好有一張 geforce gt 720</p>
<p>所以改用google cloud platform 的free tier 來做</p>
<p>一開始沒想太多看到有這張卡的驅動程式然後CUDA也有支援</p>
<p>反正只是拿來當跳板,不會有什麼流量、運算產生,可以一直保持免費的狀態</p>
<p>就直接從桌機拔下來接去LAB Server ,然後就開始一連串的難關了&hellip;</p>
<div class="more-link-wrapper"><a class="more-link" href="https://h.cowbay.org/post/do-no-use-10-0-0-0-private-ipaddr-in-gcp/">Read the post<span class="screen-reader-text">This is a Standard Post</span></a></div>
<div class="more-link-wrapper"><a class="more-link" href="https://h.cowbay.org/post/install-nvidia-driver-cuda-pgstrom-in-ubuntu-1804/">Read the post<span class="screen-reader-text">This is a Standard Post</span></a></div>
</article>
</div>
</div>
@ -468,12 +456,12 @@ if (!doNotTrack) {
<a class="featured-image-link" href="https://h.cowbay.org/post/multiple-site-to-site-vpn-using-wireguard/"><div class='featured-image lazy lazy-bg-image' data-background="https://h.cowbay.org/images/post-default-10.jpg"></div></a>
<a class="featured-image-link" href="https://h.cowbay.org/post/do-no-use-10-0-0-0-private-ipaddr-in-gcp/"><div class='featured-image lazy lazy-bg-image' data-background="https://h.cowbay.org/images/post-default-8.jpg"></div></a>
<div class="excerpt-container">
<div class="excerpt-meta">
<span class="date">13 August</span>
<span class="date">16 August</span>
@ -495,24 +483,26 @@ if (!doNotTrack) {
</div>
<div class='excerpt-header'>
<h2 class='excerpt-title'>
<a href="https://h.cowbay.org/post/multiple-site-to-site-vpn-using-wireguard/ "> [筆記] 透過 wireguard 建立多點 site to site VPN / Multiple Site to Site VPN Using Wireguard </a>
<a href="https://h.cowbay.org/post/do-no-use-10-0-0-0-private-ipaddr-in-gcp/ "> [筆記] 在gcp 中用wireguard建立VPN時不要用 10.0.0.0/16 網段/Do No Use 10 0 0 0 Private Ipaddr in GCP </a>
</h2>
</div>
<div class='excerpt-content'>
<article>
<p>因為實在受夠了現在用的 openwrt + strongswan 建立 IPSec VPN</p>
<p>最近一直在玩 wireguard 先前把各個分公司和總部的VPN 改用 wireguard 建立</p>
<p>雖然說其實沒有什麼不好,但是畢竟不是我建立的,而當初的文件也都不見</p>
<p>想說再打個VPN tunnel 來當跳板連 ptt 好</p>
<p>完全沒辦法了解當時設計的邏輯造成後續debug 困難</p>
<p>因為wireguard 建立很簡單,而且又可以指定想要繞出去的路由,不會影響原本的網路環境</p>
<p>可以想像一下一台VPN router ping 不到remote、ping不到internet、甚至ping不到自己 是要怎麼debug !?(翻桌</p>
<p>本來是在vultr 的VPS上面建立這個tunnel</p>
<p>之前買了兩台edgerouter X 拿來玩了一下 wireguard感覺還不錯不過只有測試到點對點</p>
<p>但是那台VPS連去ptt 很頓,卡卡的</p>
<p>這次試試看躲在gateway後面看看能不能建立多點的VPN環境</p>
<p>所以改用google cloud platform 的free tier 來做</p>
<div class="more-link-wrapper"><a class="more-link" href="https://h.cowbay.org/post/multiple-site-to-site-vpn-using-wireguard/">Read the post<span class="screen-reader-text">This is a Standard Post</span></a></div>
<p>反正只是拿來當跳板,不會有什麼流量、運算產生,可以一直保持免費的狀態</p>
<div class="more-link-wrapper"><a class="more-link" href="https://h.cowbay.org/post/do-no-use-10-0-0-0-private-ipaddr-in-gcp/">Read the post<span class="screen-reader-text">This is a Standard Post</span></a></div>
</article>
</div>
</div>
@ -530,12 +520,12 @@ if (!doNotTrack) {
<a class="featured-image-link" href="https://h.cowbay.org/post/site-to-site-vpn-using-wireguard-in-two-edgerouters/"><div class='featured-image lazy lazy-bg-image' data-background="https://h.cowbay.org/images/post-default-5.jpg"></div></a>
<a class="featured-image-link" href="https://h.cowbay.org/post/multiple-site-to-site-vpn-using-wireguard/"><div class='featured-image lazy lazy-bg-image' data-background="https://h.cowbay.org/images/post-default-10.jpg"></div></a>
<div class="excerpt-container">
<div class="excerpt-meta">
<span class="date">06 August</span>
<span class="date">13 August</span>
@ -557,32 +547,24 @@ if (!doNotTrack) {
</div>
<div class='excerpt-header'>
<h2 class='excerpt-title'>
<a href="https://h.cowbay.org/post/site-to-site-vpn-using-wireguard-in-two-edgerouters/ "> [筆記] 在edgerouter上用wireguard 建立site to site VPN / Site to Site Vpn Using Wireguard in Two Edgerouters </a>
<a href="https://h.cowbay.org/post/multiple-site-to-site-vpn-using-wireguard/ "> [筆記] 透過 wireguard 建立多點 site to site VPN / Multiple Site to Site VPN Using Wireguard </a>
</h2>
</div>
<div class='excerpt-content'>
<article>
<p>之前總部和分公司之間 是用buffalo 的小AP 灌 openwrt</p>
<p>然後用strongswan 來打 IPSEC site to site VPN</p>
<p>config 看起來不是很難 (只是看起來)</p>
<p>但是實際上已經找不到當初的文件</p>
<p>所以要維護很困難(光那些RSA KEY 就不知道為何、如何產生)</p>
<p>因為實在受夠了現在用的 openwrt + strongswan 建立 IPSec VPN</p>
<p>後來採購了兩台edgerouter X 做測試</p>
<p>雖然說其實沒有什麼不好,但是畢竟不是我建立的,而當初的文件也都不見了</p>
<p>也用openvpn 成功的建立了 site to site VPN</p>
<p>完全沒辦法了解當時設計的邏輯造成後續debug 困難</p>
<p>本來想說 openvpn 已經夠簡單了</p>
<p>可以想像一下一台VPN router ping 不到remote、ping不到internet、甚至ping不到自己 是要怎麼debug !?(翻桌</p>
<p>今天看到文章說用wireguard 可以更簡單</p>
<p>之前買了兩台edgerouter X 拿來玩了一下 wireguard感覺還不錯不過只有測試到點對點</p>
<p>於是研究了一下,發現還真的很簡單!</p>
<p>這次試試看躲在gateway後面看看能不能建立多點的VPN環境</p>
<div class="more-link-wrapper"><a class="more-link" href="https://h.cowbay.org/post/site-to-site-vpn-using-wireguard-in-two-edgerouters/">Read the post<span class="screen-reader-text">This is a Standard Post</span></a></div>
<div class="more-link-wrapper"><a class="more-link" href="https://h.cowbay.org/post/multiple-site-to-site-vpn-using-wireguard/">Read the post<span class="screen-reader-text">This is a Standard Post</span></a></div>
</article>
</div>
</div>
@ -834,7 +816,7 @@ if (!doNotTrack) {
</div>
<script src="https://h.cowbay.org/js/jquery.min.js"></script>
<script src="https://h.cowbay.org/js/jquerymigrate.js"></script>
<script src="https://h.cowbay.org/js/production.min.js?v=1576652202"></script>
<script src="https://h.cowbay.org/js/production.min.js?v=1576828465"></script>
</body>
</html>

@ -22,8 +22,8 @@
"accountablePerson" : "",
"copyrightHolder" : "",
"copyrightYear" : "2019",
"datePublished": "2019-12-18 14:44:27 \x2b0800 CST",
"dateModified" : "2019-12-18 14:44:27 \x2b0800 CST",
"datePublished": "2019-12-20 14:31:42 \x2b0800 CST",
"dateModified" : "2019-12-20 14:31:42 \x2b0800 CST",
"url" : "https:\/\/h.cowbay.org\/",
"wordCount" : "0",
"image" : "https://h.cowbay.org%!s(\u003cnil\u003e)"",
@ -46,9 +46,9 @@
<link rel="stylesheet" href="https://use.fontawesome.com/releases/v5.3.1/css/all.css" integrity="sha384-mzrmE5qonljUremFsqc01SB46JvROS7bZs3IO2EmfFsd15uHvIt+Y8vEf7N7fWAU" crossorigin="anonymous">
<link href="https://h.cowbay.org/css/style.css?v=1576652202" rel="stylesheet" id="theme-stylesheet" type='text/css' media='all'>
<link href="https://h.cowbay.org/css/style.css?v=1576828465" rel="stylesheet" id="theme-stylesheet" type='text/css' media='all'>
<link href="https://h.cowbay.org/css/custom.css?v=1576652202" rel="stylesheet" type='text/css' media='all'>
<link href="https://h.cowbay.org/css/custom.css?v=1576828465" rel="stylesheet" type='text/css' media='all'>
<link rel="shortcut icon" href="https://h.cowbay.org/img/favicon.ico" type="image/x-icon">
<link rel="icon" href="https://h.cowbay.org/img/favicon.ico" type="image/x-icon">
@ -288,12 +288,12 @@ if (!doNotTrack) {
<a class="featured-image-link" href="https://h.cowbay.org/post/another-way-to-keep-ansible-log/"><div class='featured-image lazy lazy-bg-image' data-background="https://h.cowbay.org/images/post-default-10.jpg"></div></a>
<a class="featured-image-link" href="https://h.cowbay.org/post/site-to-site-vpn-using-wireguard-in-two-edgerouters/"><div class='featured-image lazy lazy-bg-image' data-background="https://h.cowbay.org/images/post-default-5.jpg"></div></a>
<div class="excerpt-container">
<div class="excerpt-meta">
<span class="date">05 August</span>
<span class="date">06 August</span>
@ -309,31 +309,38 @@ if (!doNotTrack) {
<span> / </span>
<span class="category">
<a href="/categories/ansible">ansible</a>
<a href="/categories/%E7%AD%86%E8%A8%98">筆記</a>
</span>
</div>
<div class='excerpt-header'>
<h2 class='excerpt-title'>
<a href="https://h.cowbay.org/post/another-way-to-keep-ansible-log/ "> [筆記] 為了保存log 用script 指令執行ansible / Another Way to Keep Ansible Log using script command </a>
<a href="https://h.cowbay.org/post/site-to-site-vpn-using-wireguard-in-two-edgerouters/ "> [筆記] 在edgerouter上用wireguard 建立site to site VPN / Site to Site Vpn Using Wireguard in Two Edgerouters </a>
</h2>
</div>
<div class='excerpt-content'>
<article>
<p>之前為了能夠在執行完 ansible playbook 後能有個log 可以看</p>
<p>之前總部和分公司之間 是用buffalo 的小AP 灌 openwrt</p>
<p>所以在每次執行的時候,都要加入 tee 的指令</p>
<p>然後用strongswan 來打 IPSEC site to site VPN</p>
<p>像是</p>
<p>config 看起來不是很難 (只是看起來)</p>
<pre><code>ANSIBLE_CONFIG=/home/D/ansiblecontrol/ansible.cfg /usr/local/bin/ansible-playbook /home/D/ansiblecontrol/playbook.user_client.yml --vault-password-file=/home/D/ansiblecontrol/vault.passwd -i /home/D/ansiblecontrol/inventory/production -f1 --limit tyuserclients |tee /tmp/tyuserclients.log
</code></pre>
<p>但是實際上已經找不到當初的文件</p>
<p>一直都是放在crontab 裡面執行,也就沒有去管他</p>
<p>所以要維護很困難(光那些RSA KEY 就不知道為何、如何產生)</p>
<p>反正也沒有人關心結果怎樣 (攤手</p>
<p>後來採購了兩台edgerouter X 做測試</p>
<div class="more-link-wrapper"><a class="more-link" href="https://h.cowbay.org/post/another-way-to-keep-ansible-log/">Read the post<span class="screen-reader-text">This is a Standard Post</span></a></div>
<p>也用openvpn 成功的建立了 site to site VPN</p>
<p>本來想說 openvpn 已經夠簡單了</p>
<p>今天看到文章說用wireguard 可以更簡單</p>
<p>於是研究了一下,發現還真的很簡單!</p>
<div class="more-link-wrapper"><a class="more-link" href="https://h.cowbay.org/post/site-to-site-vpn-using-wireguard-in-two-edgerouters/">Read the post<span class="screen-reader-text">This is a Standard Post</span></a></div>
</article>
</div>
</div>
@ -351,12 +358,12 @@ if (!doNotTrack) {
<a class="featured-image-link" href="https://h.cowbay.org/post/send-mail-to-notify-after-pxe-install/"><div class='featured-image lazy lazy-bg-image' data-background="https://h.cowbay.org/images/post-default-11.jpg"></div></a>
<a class="featured-image-link" href="https://h.cowbay.org/post/another-way-to-keep-ansible-log/"><div class='featured-image lazy lazy-bg-image' data-background="https://h.cowbay.org/images/post-default-10.jpg"></div></a>
<div class="excerpt-container">
<div class="excerpt-meta">
<span class="date">31 July</span>
<span class="date">05 August</span>
@ -372,34 +379,31 @@ if (!doNotTrack) {
<span> / </span>
<span class="category">
<a href="/categories/%E7%AD%86%E8%A8%98">筆記</a>
<a href="/categories/ansible">ansible</a>
</span>
</div>
<div class='excerpt-header'>
<h2 class='excerpt-title'>
<a href="https://h.cowbay.org/post/send-mail-to-notify-after-pxe-install/ "> [筆記] 用pxe 安裝系統,完成後送出郵件通知 / send mail notification after pxe install </a>
<a href="https://h.cowbay.org/post/another-way-to-keep-ansible-log/ "> [筆記] 為了保存log 用script 指令執行ansible / Another Way to Keep Ansible Log using script command </a>
</h2>
</div>
<div class='excerpt-content'>
<article>
<p>最近有個任務需要大量安裝client</p>
<p>想用PXE來處理只要user開機按F12(acer 桌機) 選擇PXE Boot</p>
<p>然後選擇OS版本就可以自動進行安裝</p>
<p>之前為了能夠在執行完 ansible playbook 後能有個log 可以看</p>
<p>安裝完成後會自動重新開機接著就用ansible來做user環境設定</p>
<p>所以在每次執行的時候,都要加入 tee 的指令</p>
<p>PXE的部份本來是沒有什麼問題自動安裝系統的部份都做好了</p>
<p>像是</p>
<p>可是因為這次的量比較多想說讓每一台在完成PXE安裝後的第一次重開機</p>
<pre><code>ANSIBLE_CONFIG=/home/D/ansiblecontrol/ansible.cfg /usr/local/bin/ansible-playbook /home/D/ansiblecontrol/playbook.user_client.yml --vault-password-file=/home/D/ansiblecontrol/vault.passwd -i /home/D/ansiblecontrol/inventory/production -f1 --limit tyuserclients |tee /tmp/tyuserclients.log
</code></pre>
<p>就送出一封郵件來通知我說已經完成安裝可以執行ansible 了</p>
<p>一直都是放在crontab 裡面執行,也就沒有去管他</p>
<p>看似很簡單的一件事情,卻搞了我兩天&hellip;.</p>
<p>反正也沒有人關心結果怎樣 (攤手</p>
<div class="more-link-wrapper"><a class="more-link" href="https://h.cowbay.org/post/send-mail-to-notify-after-pxe-install/">Read the post<span class="screen-reader-text">This is a Standard Post</span></a></div>
<div class="more-link-wrapper"><a class="more-link" href="https://h.cowbay.org/post/another-way-to-keep-ansible-log/">Read the post<span class="screen-reader-text">This is a Standard Post</span></a></div>
</article>
</div>
</div>
@ -417,12 +421,12 @@ if (!doNotTrack) {
<a class="featured-image-link" href="https://h.cowbay.org/post/ansible-run-task-depends-on-ipaddr/"><div class='featured-image lazy lazy-bg-image' data-background="https://h.cowbay.org/images/post-default-7.jpg"></div></a>
<a class="featured-image-link" href="https://h.cowbay.org/post/send-mail-to-notify-after-pxe-install/"><div class='featured-image lazy lazy-bg-image' data-background="https://h.cowbay.org/images/post-default-11.jpg"></div></a>
<div class="excerpt-container">
<div class="excerpt-meta">
<span class="date">23 July</span>
<span class="date">31 July</span>
@ -438,26 +442,34 @@ if (!doNotTrack) {
<span> / </span>
<span class="category">
<a href="/categories/ansible">ansible</a>
<a href="/categories/%E7%AD%86%E8%A8%98">筆記</a>
</span>
</div>
<div class='excerpt-header'>
<h2 class='excerpt-title'>
<a href="https://h.cowbay.org/post/ansible-run-task-depends-on-ipaddr/ "> [ansible] 用 ip 位置判斷是否要執行task /ansible run task depends on ipaddr </a>
<a href="https://h.cowbay.org/post/send-mail-to-notify-after-pxe-install/ "> [筆記] 用pxe 安裝系統,完成後送出郵件通知 / send mail notification after pxe install </a>
</h2>
</div>
<div class='excerpt-content'>
<article>
<p>因為工作上的需要要修改client端的 /etc/environment 檔案</p>
<p>最近有個任務需要大量安裝client</p>
<p>在有權限使用proxy 服務的user的環境中加入proxy 的設定</p>
<p>想用PXE來處理只要user開機按F12(acer 桌機) 選擇PXE Boot</p>
<p>原本的清單中有host/user/ip 這幾個值可以拿來判斷</p>
<p>然後選擇OS版本就可以自動進行安裝</p>
<p>proxy server 那邊是採用ip 來控制,所以這邊也跟著用 ip 來判斷要不要修改 /etc/environment</p>
<p>安裝完成後會自動重新開機接著就用ansible來做user環境設定</p>
<div class="more-link-wrapper"><a class="more-link" href="https://h.cowbay.org/post/ansible-run-task-depends-on-ipaddr/">Read the post<span class="screen-reader-text">This is a Standard Post</span></a></div>
<p>PXE的部份本來是沒有什麼問題自動安裝系統的部份都做好了</p>
<p>可是因為這次的量比較多想說讓每一台在完成PXE安裝後的第一次重開機</p>
<p>就送出一封郵件來通知我說已經完成安裝可以執行ansible 了</p>
<p>看似很簡單的一件事情,卻搞了我兩天&hellip;.</p>
<div class="more-link-wrapper"><a class="more-link" href="https://h.cowbay.org/post/send-mail-to-notify-after-pxe-install/">Read the post<span class="screen-reader-text">This is a Standard Post</span></a></div>
</article>
</div>
</div>
@ -475,12 +487,12 @@ if (!doNotTrack) {
<a class="featured-image-link" href="https://h.cowbay.org/post/ansible-selectattr-from-list-in-dictionary/"><div class='featured-image lazy lazy-bg-image' data-background="https://h.cowbay.org/images/post-default-7.jpg"></div></a>
<a class="featured-image-link" href="https://h.cowbay.org/post/ansible-run-task-depends-on-ipaddr/"><div class='featured-image lazy lazy-bg-image' data-background="https://h.cowbay.org/images/post-default-7.jpg"></div></a>
<div class="excerpt-container">
<div class="excerpt-meta">
<span class="date">01 July</span>
<span class="date">23 July</span>
@ -496,24 +508,26 @@ if (!doNotTrack) {
<span> / </span>
<span class="category">
<a href="/categories/ansible">Ansible</a>
<a href="/categories/ansible">ansible</a>
</span>
</div>
<div class='excerpt-header'>
<h2 class='excerpt-title'>
<a href="https://h.cowbay.org/post/ansible-selectattr-from-list-in-dictionary/ "> [ansible] 引用事先定義好的yaml檔裡面的變數 - Ansible Selectattr From List in Dictionary file </a>
<a href="https://h.cowbay.org/post/ansible-run-task-depends-on-ipaddr/ "> [ansible] 用 ip 位置判斷是否要執行task /ansible run task depends on ipaddr </a>
</h2>
</div>
<div class='excerpt-content'>
<article>
<p>在ansible中關於如何引用自定義的變數一直讓我很頭疼</p>
<p>因為工作上的需要要修改client端的 /etc/environment 檔案</p>
<p>尤其是有牽涉到從外部導入yaml檔案時更是常常讓我不知道到底該怎麼抓出想要的變數</p>
<p>在有權限使用proxy 服務的user的環境中加入proxy 的設定</p>
<p>這次還是用selectattr 來處理,希望下次能夠記得&hellip;</p>
<p>原本的清單中有host/user/ip 這幾個值可以拿來判斷</p>
<div class="more-link-wrapper"><a class="more-link" href="https://h.cowbay.org/post/ansible-selectattr-from-list-in-dictionary/">Read the post<span class="screen-reader-text">This is a Standard Post</span></a></div>
<p>proxy server 那邊是採用ip 來控制,所以這邊也跟著用 ip 來判斷要不要修改 /etc/environment</p>
<div class="more-link-wrapper"><a class="more-link" href="https://h.cowbay.org/post/ansible-run-task-depends-on-ipaddr/">Read the post<span class="screen-reader-text">This is a Standard Post</span></a></div>
</article>
</div>
</div>
@ -531,12 +545,12 @@ if (!doNotTrack) {
<a class="featured-image-link" href="https://h.cowbay.org/post/remote-management-system-meshcentral/"><div class='featured-image lazy lazy-bg-image' data-background="https://h.cowbay.org/images/post-default-5.jpg"></div></a>
<a class="featured-image-link" href="https://h.cowbay.org/post/ansible-selectattr-from-list-in-dictionary/"><div class='featured-image lazy lazy-bg-image' data-background="https://h.cowbay.org/images/post-default-7.jpg"></div></a>
<div class="excerpt-container">
<div class="excerpt-meta">
<span class="date">20 June</span>
<span class="date">01 July</span>
@ -552,28 +566,24 @@ if (!doNotTrack) {
<span> / </span>
<span class="category">
<a href="/categories/%E7%AD%86%E8%A8%98">筆記</a>
<a href="/categories/ansible">Ansible</a>
</span>
</div>
<div class='excerpt-header'>
<h2 class='excerpt-title'>
<a href="https://h.cowbay.org/post/remote-management-system-meshcentral/ "> linux底下遠端遙控&amp;管理的好用系統 Meshcentral / Remote Management &amp; control system Meshcentral </a>
<a href="https://h.cowbay.org/post/ansible-selectattr-from-list-in-dictionary/ "> [ansible] 引用事先定義好的yaml檔裡面的變數 - Ansible Selectattr From List in Dictionary file </a>
</h2>
</div>
<div class='excerpt-content'>
<article>
<p>之前在LAN/windows環境下一直都是用ultravnc/winvnc/tigervnc之類的VNC軟體</p>
<p>但是如果要過 internet 就會碰到各種開port的問題</p>
<p>在這種環境下,就有了當時 teamviewer 的橫空出世</p>
<p>在ansible中關於如何引用自定義的變數一直讓我很頭疼</p>
<p>解決了開PORT的問題讓被控端(通常是資訊技術相對弱勢,需要接受幫助的一方)不需要懂太多</p>
<p>尤其是有牽涉到從外部導入yaml檔案時更是常常讓我不知道到底該怎麼抓出想要的變數</p>
<p>只要下載teamviewer被控端開啟後報ID 給協助者就好了</p>
<p>這次還是用selectattr 來處理,希望下次能夠記得&hellip;</p>
<div class="more-link-wrapper"><a class="more-link" href="https://h.cowbay.org/post/remote-management-system-meshcentral/">Read the post<span class="screen-reader-text">This is a Standard Post</span></a></div>
<div class="more-link-wrapper"><a class="more-link" href="https://h.cowbay.org/post/ansible-selectattr-from-list-in-dictionary/">Read the post<span class="screen-reader-text">This is a Standard Post</span></a></div>
</article>
</div>
</div>
@ -827,7 +837,7 @@ if (!doNotTrack) {
</div>
<script src="https://h.cowbay.org/js/jquery.min.js"></script>
<script src="https://h.cowbay.org/js/jquerymigrate.js"></script>
<script src="https://h.cowbay.org/js/production.min.js?v=1576652202"></script>
<script src="https://h.cowbay.org/js/production.min.js?v=1576828465"></script>
</body>
</html>

@ -22,8 +22,8 @@
"accountablePerson" : "",
"copyrightHolder" : "",
"copyrightYear" : "2019",
"datePublished": "2019-12-18 14:44:27 \x2b0800 CST",
"dateModified" : "2019-12-18 14:44:27 \x2b0800 CST",
"datePublished": "2019-12-20 14:31:42 \x2b0800 CST",
"dateModified" : "2019-12-20 14:31:42 \x2b0800 CST",
"url" : "https:\/\/h.cowbay.org\/",
"wordCount" : "0",
"image" : "https://h.cowbay.org%!s(\u003cnil\u003e)"",
@ -46,9 +46,9 @@
<link rel="stylesheet" href="https://use.fontawesome.com/releases/v5.3.1/css/all.css" integrity="sha384-mzrmE5qonljUremFsqc01SB46JvROS7bZs3IO2EmfFsd15uHvIt+Y8vEf7N7fWAU" crossorigin="anonymous">
<link href="https://h.cowbay.org/css/style.css?v=1576652202" rel="stylesheet" id="theme-stylesheet" type='text/css' media='all'>
<link href="https://h.cowbay.org/css/style.css?v=1576828465" rel="stylesheet" id="theme-stylesheet" type='text/css' media='all'>
<link href="https://h.cowbay.org/css/custom.css?v=1576652202" rel="stylesheet" type='text/css' media='all'>
<link href="https://h.cowbay.org/css/custom.css?v=1576828465" rel="stylesheet" type='text/css' media='all'>
<link rel="shortcut icon" href="https://h.cowbay.org/img/favicon.ico" type="image/x-icon">
<link rel="icon" href="https://h.cowbay.org/img/favicon.ico" type="image/x-icon">
@ -288,12 +288,12 @@ if (!doNotTrack) {
<a class="featured-image-link" href="https://h.cowbay.org/post/install-asus-10g-nic-in-proxmox/"><div class='featured-image lazy lazy-bg-image' data-background="https://h.cowbay.org/images/post-default-13.jpg"></div></a>
<a class="featured-image-link" href="https://h.cowbay.org/post/remote-management-system-meshcentral/"><div class='featured-image lazy lazy-bg-image' data-background="https://h.cowbay.org/images/post-default-5.jpg"></div></a>
<div class="excerpt-container">
<div class="excerpt-meta">
<span class="date">17 June</span>
<span class="date">20 June</span>
@ -309,30 +309,28 @@ if (!doNotTrack) {
<span> / </span>
<span class="category">
<a href="/categories/proxmox">Proxmox</a>
<a href="/categories/%E7%AD%86%E8%A8%98">筆記</a>
</span>
</div>
<div class='excerpt-header'>
<h2 class='excerpt-title'>
<a href="https://h.cowbay.org/post/install-asus-10g-nic-in-proxmox/ "> Install Asus 10G NIC XG-C100C in Proxmox </a>
<a href="https://h.cowbay.org/post/remote-management-system-meshcentral/ "> linux底下遠端遙控&amp;管理的好用系統 Meshcentral / Remote Management &amp; control system Meshcentral </a>
</h2>
</div>
<div class='excerpt-content'>
<article>
<p>前幾天接的一個case</p>
<p>之前在LAN/windows環境下一直都是用ultravnc/winvnc/tigervnc之類的VNC軟體</p>
<p>因為費用的關係,所以沒有考慮用傳統定義上的伺服器(DELL R640)</p>
<p>但是如果要過 internet 就會碰到各種開port的問題</p>
<p>改採用比較高階一點的洋垃圾,規格大概是 Intel E5-2680V2 x2 + 64G RAM + 128G SSD x2 (OS) + 960G SSD x4 (raid 10 , zfs)</p>
<p>在這種環境下,就有了當時 teamviewer 的橫空出世</p>
<p>storage 選擇QNAP NAS TS-932X + 960G SSD x 4 (raid 10 , NFS) + QNAP 10G Switch QSW-1280C-8C</p>
<p>解決了開PORT的問題讓被控端(通常是資訊技術相對弱勢,需要接受幫助的一方)不需要懂太多</p>
<p>既然storage這邊選用了10G的機種伺服器上當然也要增加10G網卡</p>
<p>只要下載teamviewer被控端開啟後報ID 給協助者就好了</p>
<p>一樣成本考量就不用INTEL 了,買了這張 ASUS 10G 網卡</p>
<div class="more-link-wrapper"><a class="more-link" href="https://h.cowbay.org/post/install-asus-10g-nic-in-proxmox/">Read the post<span class="screen-reader-text">This is a Standard Post</span></a></div>
<div class="more-link-wrapper"><a class="more-link" href="https://h.cowbay.org/post/remote-management-system-meshcentral/">Read the post<span class="screen-reader-text">This is a Standard Post</span></a></div>
</article>
</div>
</div>
@ -350,12 +348,12 @@ if (!doNotTrack) {
<a class="featured-image-link" href="https://h.cowbay.org/post/change-timezone-in-docker/"><div class='featured-image lazy lazy-bg-image' data-background="https://h.cowbay.org/images/post-default-3.jpg"></div></a>
<a class="featured-image-link" href="https://h.cowbay.org/post/install-asus-10g-nic-in-proxmox/"><div class='featured-image lazy lazy-bg-image' data-background="https://h.cowbay.org/images/post-default-13.jpg"></div></a>
<div class="excerpt-container">
<div class="excerpt-meta">
<span class="date">21 May</span>
<span class="date">17 June</span>
@ -371,22 +369,30 @@ if (!doNotTrack) {
<span> / </span>
<span class="category">
<a href="/categories/%E7%AD%86%E8%A8%98">筆記</a>
<a href="/categories/proxmox">Proxmox</a>
</span>
</div>
<div class='excerpt-header'>
<h2 class='excerpt-title'>
<a href="https://h.cowbay.org/post/change-timezone-in-docker/ "> [筆記] 修改 docker 容器內的時區 - Change Timezone in Docker </a>
<a href="https://h.cowbay.org/post/install-asus-10g-nic-in-proxmox/ "> Install Asus 10G NIC XG-C100C in Proxmox </a>
</h2>
</div>
<div class='excerpt-content'>
<article>
<p>最近一直在玩一些docker不過老是會碰到歪果扔寫的東西時區都不一致</p>
<p>前幾天接的一個case</p>
<p>有的用 UTC有的用localtime就是沒碰到用 Asia/Taipei 的&hellip;.</p>
<p>因為費用的關係,所以沒有考慮用傳統定義上的伺服器(DELL R640)</p>
<div class="more-link-wrapper"><a class="more-link" href="https://h.cowbay.org/post/change-timezone-in-docker/">Read the post<span class="screen-reader-text">This is a Standard Post</span></a></div>
<p>改採用比較高階一點的洋垃圾,規格大概是 Intel E5-2680V2 x2 + 64G RAM + 128G SSD x2 (OS) + 960G SSD x4 (raid 10 , zfs)</p>
<p>storage 選擇QNAP NAS TS-932X + 960G SSD x 4 (raid 10 , NFS) + QNAP 10G Switch QSW-1280C-8C</p>
<p>既然storage這邊選用了10G的機種伺服器上當然也要增加10G網卡</p>
<p>一樣成本考量就不用INTEL 了,買了這張 ASUS 10G 網卡</p>
<div class="more-link-wrapper"><a class="more-link" href="https://h.cowbay.org/post/install-asus-10g-nic-in-proxmox/">Read the post<span class="screen-reader-text">This is a Standard Post</span></a></div>
</article>
</div>
</div>
@ -404,12 +410,12 @@ if (!doNotTrack) {
<a class="featured-image-link" href="https://h.cowbay.org/post/transfer-file-content-using-xclip-in-terminal/"><div class='featured-image lazy lazy-bg-image' data-background="https://h.cowbay.org/images/post-default-11.jpg"></div></a>
<a class="featured-image-link" href="https://h.cowbay.org/post/change-timezone-in-docker/"><div class='featured-image lazy lazy-bg-image' data-background="https://h.cowbay.org/images/post-default-3.jpg"></div></a>
<div class="excerpt-container">
<div class="excerpt-meta">
<span class="date">17 May</span>
<span class="date">21 May</span>
@ -425,26 +431,22 @@ if (!doNotTrack) {
<span> / </span>
<span class="category">
<a href="/categories/linux">linux</a>
<a href="/categories/%E7%AD%86%E8%A8%98">筆記</a>
</span>
</div>
<div class='excerpt-header'>
<h2 class='excerpt-title'>
<a href="https://h.cowbay.org/post/transfer-file-content-using-xclip-in-terminal/ "> Transfer File Content Using Xclip in Terminal </a>
<a href="https://h.cowbay.org/post/change-timezone-in-docker/ "> [筆記] 修改 docker 容器內的時區 - Change Timezone in Docker </a>
</h2>
</div>
<div class='excerpt-content'>
<article>
<p>工作上常會需要用ssh登入遠端主機檢查LOG有必要的時候還要把log複製回本機來處理。</p>
<p>以前都是傻傻的用 scp 傳檔案</p>
<p>之前就記得有這個xclip/xsel 可以用,但是一直沒有弄清楚怎麼執行</p>
<p>最近一直在玩一些docker不過老是會碰到歪果扔寫的東西時區都不一致</p>
<p>早上研究了一下,順便做個筆記。</p>
<p>有的用 UTC有的用localtime就是沒碰到用 Asia/Taipei 的&hellip;.</p>
<div class="more-link-wrapper"><a class="more-link" href="https://h.cowbay.org/post/transfer-file-content-using-xclip-in-terminal/">Read the post<span class="screen-reader-text">This is a Standard Post</span></a></div>
<div class="more-link-wrapper"><a class="more-link" href="https://h.cowbay.org/post/change-timezone-in-docker/">Read the post<span class="screen-reader-text">This is a Standard Post</span></a></div>
</article>
</div>
</div>
@ -462,12 +464,12 @@ if (!doNotTrack) {
<a class="featured-image-link" href="https://h.cowbay.org/post/inx-collect-detail-hardware-info/"><div class='featured-image lazy lazy-bg-image' data-background="https://h.cowbay.org/images/post-default-10.jpg"></div></a>
<a class="featured-image-link" href="https://h.cowbay.org/post/transfer-file-content-using-xclip-in-terminal/"><div class='featured-image lazy lazy-bg-image' data-background="https://h.cowbay.org/images/post-default-11.jpg"></div></a>
<div class="excerpt-container">
<div class="excerpt-meta">
<span class="date">23 April</span>
<span class="date">17 May</span>
@ -483,28 +485,26 @@ if (!doNotTrack) {
<span> / </span>
<span class="category">
<a href="/categories/%E7%AD%86%E8%A8%98">筆記</a>
<a href="/categories/linux">linux</a>
</span>
</div>
<div class='excerpt-header'>
<h2 class='excerpt-title'>
<a href="https://h.cowbay.org/post/inx-collect-detail-hardware-info/ "> [筆記] inxi 蒐集詳盡的硬體資訊 / inxi Collect Detail Hardware Info </a>
<a href="https://h.cowbay.org/post/transfer-file-content-using-xclip-in-terminal/ "> Transfer File Content Using Xclip in Terminal </a>
</h2>
</div>
<div class='excerpt-content'>
<article>
<p>最近因為一直碰到硬碟故障的問題算起來那一批同時購買的5X顆 seagate 2T硬碟已經有一半以上故障返修了&hellip;.</p>
<p>然後又因為一直沒有添購新的硬碟,只能用這些快過保/已過保的撐著</p>
<p>工作上常會需要用ssh登入遠端主機檢查LOG有必要的時候還要把log複製回本機來處理。</p>
<p>所以最近不斷的在更換機器內的硬碟,而且還沒有熱插拔!</p>
<p>以前都是傻傻的用 scp 傳檔案</p>
<p>也導致原本負責處理盤點資產的同事困擾,因為跟手邊的紀錄已經對不起來了</p>
<p>之前就記得有這個xclip/xsel 可以用,但是一直沒有弄清楚怎麼執行</p>
<p>然後就變成要對資產的時候,需要一台一台登入,然後去下不同的指令,取得想要的硬體資訊,超級麻煩的!</p>
<p>早上研究了一下,順便做個筆記。</p>
<div class="more-link-wrapper"><a class="more-link" href="https://h.cowbay.org/post/inx-collect-detail-hardware-info/">Read the post<span class="screen-reader-text">This is a Standard Post</span></a></div>
<div class="more-link-wrapper"><a class="more-link" href="https://h.cowbay.org/post/transfer-file-content-using-xclip-in-terminal/">Read the post<span class="screen-reader-text">This is a Standard Post</span></a></div>
</article>
</div>
</div>
@ -522,7 +522,7 @@ if (!doNotTrack) {
<a class="featured-image-link" href="https://h.cowbay.org/post/log-all-bash-commands/"><div class='featured-image lazy lazy-bg-image' data-background="https://h.cowbay.org/images/post-default-11.jpg"></div></a>
<a class="featured-image-link" href="https://h.cowbay.org/post/inx-collect-detail-hardware-info/"><div class='featured-image lazy lazy-bg-image' data-background="https://h.cowbay.org/images/post-default-10.jpg"></div></a>
<div class="excerpt-container">
@ -549,20 +549,22 @@ if (!doNotTrack) {
</div>
<div class='excerpt-header'>
<h2 class='excerpt-title'>
<a href="https://h.cowbay.org/post/log-all-bash-commands/ "> [筆記] 紀錄所有下過的指令、時間 / Log All commands with timestamp </a>
<a href="https://h.cowbay.org/post/inx-collect-detail-hardware-info/ "> [筆記] inxi 蒐集詳盡的硬體資訊 / inxi Collect Detail Hardware Info </a>
</h2>
</div>
<div class='excerpt-content'>
<article>
<p>今天發生一件有點詭異的事情,本來應該要經過某個指令才會產生的檔案</p>
<p>最近因為一直碰到硬碟故障的問題算起來那一批同時購買的5X顆 seagate 2T硬碟已經有一半以上故障返修了&hellip;.</p>
<p>然後又因為一直沒有添購新的硬碟,只能用這些快過保/已過保的撐著</p>
<p>居然不知為何自己產生了,在我記憶中沒有去執行過那個指令</p>
<p>所以最近不斷的在更換機器內的硬碟,而且還沒有熱插拔!</p>
<p>翻了一下 bash_history ,裡面也只有下過哪些指令,沒有紀錄時間,完全沒有參考價值(攤手)</p>
<p>也導致原本負責處理盤點資產的同事困擾,因為跟手邊的紀錄已經對不起來了</p>
<p>所以翻了一下網路至少把這兩台主要跑ansible的機器的log功能補上紀錄所有指令以及時間的部份</p>
<p>然後就變成要對資產的時候,需要一台一台登入,然後去下不同的指令,取得想要的硬體資訊,超級麻煩的!</p>
<div class="more-link-wrapper"><a class="more-link" href="https://h.cowbay.org/post/log-all-bash-commands/">Read the post<span class="screen-reader-text">This is a Standard Post</span></a></div>
<div class="more-link-wrapper"><a class="more-link" href="https://h.cowbay.org/post/inx-collect-detail-hardware-info/">Read the post<span class="screen-reader-text">This is a Standard Post</span></a></div>
</article>
</div>
</div>
@ -818,7 +820,7 @@ if (!doNotTrack) {
</div>
<script src="https://h.cowbay.org/js/jquery.min.js"></script>
<script src="https://h.cowbay.org/js/jquerymigrate.js"></script>
<script src="https://h.cowbay.org/js/production.min.js?v=1576652202"></script>
<script src="https://h.cowbay.org/js/production.min.js?v=1576828465"></script>
</body>
</html>

@ -22,8 +22,8 @@
"accountablePerson" : "",
"copyrightHolder" : "",
"copyrightYear" : "2019",
"datePublished": "2019-12-18 14:44:27 \x2b0800 CST",
"dateModified" : "2019-12-18 14:44:27 \x2b0800 CST",
"datePublished": "2019-12-20 14:31:42 \x2b0800 CST",
"dateModified" : "2019-12-20 14:31:42 \x2b0800 CST",
"url" : "https:\/\/h.cowbay.org\/",
"wordCount" : "0",
"image" : "https://h.cowbay.org%!s(\u003cnil\u003e)"",
@ -46,9 +46,9 @@
<link rel="stylesheet" href="https://use.fontawesome.com/releases/v5.3.1/css/all.css" integrity="sha384-mzrmE5qonljUremFsqc01SB46JvROS7bZs3IO2EmfFsd15uHvIt+Y8vEf7N7fWAU" crossorigin="anonymous">
<link href="https://h.cowbay.org/css/style.css?v=1576652202" rel="stylesheet" id="theme-stylesheet" type='text/css' media='all'>
<link href="https://h.cowbay.org/css/style.css?v=1576828465" rel="stylesheet" id="theme-stylesheet" type='text/css' media='all'>
<link href="https://h.cowbay.org/css/custom.css?v=1576652202" rel="stylesheet" type='text/css' media='all'>
<link href="https://h.cowbay.org/css/custom.css?v=1576828465" rel="stylesheet" type='text/css' media='all'>
<link rel="shortcut icon" href="https://h.cowbay.org/img/favicon.ico" type="image/x-icon">
<link rel="icon" href="https://h.cowbay.org/img/favicon.ico" type="image/x-icon">
@ -288,12 +288,12 @@ if (!doNotTrack) {
<a class="featured-image-link" href="https://h.cowbay.org/post/fix-zpool-device-busy-using-dmsetup/"><div class='featured-image lazy lazy-bg-image' data-background="https://h.cowbay.org/images/post-default-11.jpg"></div></a>
<a class="featured-image-link" href="https://h.cowbay.org/post/log-all-bash-commands/"><div class='featured-image lazy lazy-bg-image' data-background="https://h.cowbay.org/images/post-default-11.jpg"></div></a>
<div class="excerpt-container">
<div class="excerpt-meta">
<span class="date">01 April</span>
<span class="date">23 April</span>
@ -315,18 +315,20 @@ if (!doNotTrack) {
</div>
<div class='excerpt-header'>
<h2 class='excerpt-title'>
<a href="https://h.cowbay.org/post/fix-zpool-device-busy-using-dmsetup/ "> [筆記] 解決無法建立zpool 的錯誤 / Fix Zpool Device Busy Using dmsetup </a>
<a href="https://h.cowbay.org/post/log-all-bash-commands/ "> [筆記] 紀錄所有下過的指令、時間 / Log All commands with timestamp </a>
</h2>
</div>
<div class='excerpt-content'>
<article>
<p>今天把其中一台proxmox 加上10G 光纖網卡準備和另一台proxmox 組成10G 環境進行測試</p>
<p>今天發生一件有點詭異的事情,本來應該要經過某個指令才會產生的檔案</p>
<p>想說把本機的zpool 拆掉重新建立一個raid0 的空間來做clone/migrate</p>
<p>居然不知為何自己產生了,在我記憶中沒有去執行過那個指令</p>
<p>可是一直出現device busy的錯誤訊息</p>
<p>翻了一下 bash_history ,裡面也只有下過哪些指令,沒有紀錄時間,完全沒有參考價值(攤手)</p>
<div class="more-link-wrapper"><a class="more-link" href="https://h.cowbay.org/post/fix-zpool-device-busy-using-dmsetup/">Read the post<span class="screen-reader-text">This is a Standard Post</span></a></div>
<p>所以翻了一下網路至少把這兩台主要跑ansible的機器的log功能補上紀錄所有指令以及時間的部份</p>
<div class="more-link-wrapper"><a class="more-link" href="https://h.cowbay.org/post/log-all-bash-commands/">Read the post<span class="screen-reader-text">This is a Standard Post</span></a></div>
</article>
</div>
</div>
@ -344,12 +346,12 @@ if (!doNotTrack) {
<a class="featured-image-link" href="https://h.cowbay.org/post/transfer-cent62-using-rsync/"><div class='featured-image lazy lazy-bg-image' data-background="https://h.cowbay.org/images/post-default-9.jpg"></div></a>
<a class="featured-image-link" href="https://h.cowbay.org/post/fix-zpool-device-busy-using-dmsetup/"><div class='featured-image lazy lazy-bg-image' data-background="https://h.cowbay.org/images/post-default-11.jpg"></div></a>
<div class="excerpt-container">
<div class="excerpt-meta">
<span class="date">27 March</span>
<span class="date">01 April</span>
@ -371,16 +373,18 @@ if (!doNotTrack) {
</div>
<div class='excerpt-header'>
<h2 class='excerpt-title'>
<a href="https://h.cowbay.org/post/transfer-cent62-using-rsync/ "> [筆記] 用rsync 移轉 centos 6.2的老機器 Transfer Cent6.2 using rsync </a>
<a href="https://h.cowbay.org/post/fix-zpool-device-busy-using-dmsetup/ "> [筆記] 解決無法建立zpool 的錯誤 / Fix Zpool Device Busy Using dmsetup </a>
</h2>
</div>
<div class='excerpt-content'>
<article>
<p>公司的一台老伺服器空間不足了,要執行指令都會中斷,所以想要擴充空間。</p>
<p>今天把其中一台proxmox 加上10G 光纖網卡準備和另一台proxmox 組成10G 環境進行測試</p>
<p>看起來不難搞,事實上&hellip;..</p>
<p>想說把本機的zpool 拆掉重新建立一個raid0 的空間來做clone/migrate</p>
<div class="more-link-wrapper"><a class="more-link" href="https://h.cowbay.org/post/transfer-cent62-using-rsync/">Read the post<span class="screen-reader-text">This is a Standard Post</span></a></div>
<p>可是一直出現device busy的錯誤訊息</p>
<div class="more-link-wrapper"><a class="more-link" href="https://h.cowbay.org/post/fix-zpool-device-busy-using-dmsetup/">Read the post<span class="screen-reader-text">This is a Standard Post</span></a></div>
</article>
</div>
</div>
@ -398,12 +402,12 @@ if (!doNotTrack) {
<a class="featured-image-link" href="https://h.cowbay.org/post/command_to_test_main_ssl/"><div class='featured-image lazy lazy-bg-image' data-background="https://h.cowbay.org/images/post-default-10.jpg"></div></a>
<a class="featured-image-link" href="https://h.cowbay.org/post/transfer-cent62-using-rsync/"><div class='featured-image lazy lazy-bg-image' data-background="https://h.cowbay.org/images/post-default-9.jpg"></div></a>
<div class="excerpt-container">
<div class="excerpt-meta">
<span class="date">20 March</span>
<span class="date">27 March</span>
@ -417,21 +421,24 @@ if (!doNotTrack) {
<span> / </span>
<span class="category">
<a href="/categories/%E7%AD%86%E8%A8%98">筆記</a>
</span>
</div>
<div class='excerpt-header'>
<h2 class='excerpt-title'>
<a href="https://h.cowbay.org/post/command_to_test_main_ssl/ "> [筆記] 測試mail server 的SSL憑證的指令 Command to test mailserver SSL </a>
<a href="https://h.cowbay.org/post/transfer-cent62-using-rsync/ "> [筆記] 用rsync 移轉 centos 6.2的老機器 Transfer Cent6.2 using rsync </a>
</h2>
</div>
<div class='excerpt-content'>
<article>
<p>今天老闆出國發slack說手機不能寄信看了一下似乎是因為用GMAIL的APP來收信</p>
<p>然後google 不知道跟人家改了什麼,結果不接受原本的認證了&hellip; WTF &hellip;.</p>
<p>公司的一台老伺服器空間不足了,要執行指令都會中斷,所以想要擴充空間。</p>
<p>然後,這問題應該很久了,結果現在才在講 &hellip;.</p>
<p>看起來不難搞,事實上&hellip;..</p>
<div class="more-link-wrapper"><a class="more-link" href="https://h.cowbay.org/post/command_to_test_main_ssl/">Read the post<span class="screen-reader-text">This is a Standard Post</span></a></div>
<div class="more-link-wrapper"><a class="more-link" href="https://h.cowbay.org/post/transfer-cent62-using-rsync/">Read the post<span class="screen-reader-text">This is a Standard Post</span></a></div>
</article>
</div>
</div>
@ -449,12 +456,12 @@ if (!doNotTrack) {
<a class="featured-image-link" href="https://h.cowbay.org/post/install-timeshift-on-ubuntu1804/"><div class='featured-image lazy lazy-bg-image' data-background="https://h.cowbay.org/images/post-default-12.jpg"></div></a>
<a class="featured-image-link" href="https://h.cowbay.org/post/command_to_test_main_ssl/"><div class='featured-image lazy lazy-bg-image' data-background="https://h.cowbay.org/images/post-default-10.jpg"></div></a>
<div class="excerpt-container">
<div class="excerpt-meta">
<span class="date">11 March</span>
<span class="date">20 March</span>
@ -468,28 +475,21 @@ if (!doNotTrack) {
<span> / </span>
<span class="category">
<a href="/categories/%E7%AD%86%E8%A8%98">筆記</a>
</span>
</div>
<div class='excerpt-header'>
<h2 class='excerpt-title'>
<a href="https://h.cowbay.org/post/install-timeshift-on-ubuntu1804/ "> Install Timeshift on Ubuntu1804 </a>
<a href="https://h.cowbay.org/post/command_to_test_main_ssl/ "> [筆記] 測試mail server 的SSL憑證的指令 Command to test mailserver SSL </a>
</h2>
</div>
<div class='excerpt-content'>
<article>
<p>最近要開始測試client安裝 ubuntu 18.04 的 ansible playbook</p>
<p>因為要不斷的修正所以想到一直有在自己電腦上執行的timeshift這個軟體</p>
<p>今天老闆出國發slack說手機不能寄信看了一下似乎是因為用GMAIL的APP來收信</p>
<p>可以很簡單快速的備份、恢復系統狀態</p>
<p>然後google 不知道跟人家改了什麼,結果不接受原本的認證了&hellip; WTF &hellip;.</p>
<p>可是不知道為什麼在ubuntu 18.04 上安裝就是會發生錯誤&hellip;.</p>
<p>然後,這問題應該很久了,結果現在才在講 &hellip;.</p>
<div class="more-link-wrapper"><a class="more-link" href="https://h.cowbay.org/post/install-timeshift-on-ubuntu1804/">Read the post<span class="screen-reader-text">This is a Standard Post</span></a></div>
<div class="more-link-wrapper"><a class="more-link" href="https://h.cowbay.org/post/command_to_test_main_ssl/">Read the post<span class="screen-reader-text">This is a Standard Post</span></a></div>
</article>
</div>
</div>
@ -507,12 +507,12 @@ if (!doNotTrack) {
<a class="featured-image-link" href="https://h.cowbay.org/post/install-ubuntu1804-on-dell-6ir-raid-controller/"><div class='featured-image lazy lazy-bg-image' data-background="https://h.cowbay.org/images/post-default-11.jpg"></div></a>
<a class="featured-image-link" href="https://h.cowbay.org/post/install-timeshift-on-ubuntu1804/"><div class='featured-image lazy lazy-bg-image' data-background="https://h.cowbay.org/images/post-default-12.jpg"></div></a>
<div class="excerpt-container">
<div class="excerpt-meta">
<span class="date">16 January</span>
<span class="date">11 March</span>
@ -534,16 +534,20 @@ if (!doNotTrack) {
</div>
<div class='excerpt-header'>
<h2 class='excerpt-title'>
<a href="https://h.cowbay.org/post/install-ubuntu1804-on-dell-6ir-raid-controller/ "> 用DELL 6 i/R 建立RAID並在上面安裝ubuntu 18.04 </a>
<a href="https://h.cowbay.org/post/install-timeshift-on-ubuntu1804/ "> Install Timeshift on Ubuntu1804 </a>
</h2>
</div>
<div class='excerpt-content'>
<article>
<p>買了一張 DELL 6/iR 低階的raid 卡</p>
<p>最近要開始測試client安裝 ubuntu 18.04 的 ansible playbook</p>
<p>來測試把系統裝在硬體做的RAID上結果沒想到居然不能開機&hellip;</p>
<p>因為要不斷的修正所以想到一直有在自己電腦上執行的timeshift這個軟體</p>
<div class="more-link-wrapper"><a class="more-link" href="https://h.cowbay.org/post/install-ubuntu1804-on-dell-6ir-raid-controller/">Read the post<span class="screen-reader-text">This is a Standard Post</span></a></div>
<p>可以很簡單快速的備份、恢復系統狀態</p>
<p>可是不知道為什麼在ubuntu 18.04 上安裝就是會發生錯誤&hellip;.</p>
<div class="more-link-wrapper"><a class="more-link" href="https://h.cowbay.org/post/install-timeshift-on-ubuntu1804/">Read the post<span class="screen-reader-text">This is a Standard Post</span></a></div>
</article>
</div>
</div>
@ -801,7 +805,7 @@ if (!doNotTrack) {
</div>
<script src="https://h.cowbay.org/js/jquery.min.js"></script>
<script src="https://h.cowbay.org/js/jquerymigrate.js"></script>
<script src="https://h.cowbay.org/js/production.min.js?v=1576652202"></script>
<script src="https://h.cowbay.org/js/production.min.js?v=1576828465"></script>
</body>
</html>

@ -22,8 +22,8 @@
"accountablePerson" : "",
"copyrightHolder" : "",
"copyrightYear" : "2019",
"datePublished": "2019-12-18 14:44:27 \x2b0800 CST",
"dateModified" : "2019-12-18 14:44:27 \x2b0800 CST",
"datePublished": "2019-12-20 14:31:42 \x2b0800 CST",
"dateModified" : "2019-12-20 14:31:42 \x2b0800 CST",
"url" : "https:\/\/h.cowbay.org\/",
"wordCount" : "0",
"image" : "https://h.cowbay.org%!s(\u003cnil\u003e)"",
@ -46,9 +46,9 @@
<link rel="stylesheet" href="https://use.fontawesome.com/releases/v5.3.1/css/all.css" integrity="sha384-mzrmE5qonljUremFsqc01SB46JvROS7bZs3IO2EmfFsd15uHvIt+Y8vEf7N7fWAU" crossorigin="anonymous">
<link href="https://h.cowbay.org/css/style.css?v=1576652202" rel="stylesheet" id="theme-stylesheet" type='text/css' media='all'>
<link href="https://h.cowbay.org/css/style.css?v=1576828465" rel="stylesheet" id="theme-stylesheet" type='text/css' media='all'>
<link href="https://h.cowbay.org/css/custom.css?v=1576652202" rel="stylesheet" type='text/css' media='all'>
<link href="https://h.cowbay.org/css/custom.css?v=1576828465" rel="stylesheet" type='text/css' media='all'>
<link rel="shortcut icon" href="https://h.cowbay.org/img/favicon.ico" type="image/x-icon">
<link rel="icon" href="https://h.cowbay.org/img/favicon.ico" type="image/x-icon">
@ -288,7 +288,7 @@ if (!doNotTrack) {
<a class="featured-image-link" href="https://h.cowbay.org/post/ubuntu-1804-install-root-on-raid/"><div class='featured-image lazy lazy-bg-image' data-background="https://h.cowbay.org/images/post-default-14.jpg"></div></a>
<a class="featured-image-link" href="https://h.cowbay.org/post/install-ubuntu1804-on-dell-6ir-raid-controller/"><div class='featured-image lazy lazy-bg-image' data-background="https://h.cowbay.org/images/post-default-11.jpg"></div></a>
<div class="excerpt-container">
@ -315,18 +315,16 @@ if (!doNotTrack) {
</div>
<div class='excerpt-header'>
<h2 class='excerpt-title'>
<a href="https://h.cowbay.org/post/ubuntu-1804-install-root-on-raid/ "> Ubuntu 1804 Install Root on Raid </a>
<a href="https://h.cowbay.org/post/install-ubuntu1804-on-dell-6ir-raid-controller/ "> 用DELL 6 i/R 建立RAID並在上面安裝ubuntu 18.04 </a>
</h2>
</div>
<div class='excerpt-content'>
<article>
<p>最近在弄一台機器想要把ubuntu 18.04 安裝在software raid上</p>
<p>因為新開的機器大部分都是在proxmox上所以很少碰實體機器了</p>
<p>買了一張 DELL 6/iR 低階的raid 卡</p>
<p>結果在安裝過程中做raid碰到一些問題來紀錄一下</p>
<p>來測試把系統裝在硬體做的RAID上結果沒想到居然不能開機&hellip;</p>
<div class="more-link-wrapper"><a class="more-link" href="https://h.cowbay.org/post/ubuntu-1804-install-root-on-raid/">Read the post<span class="screen-reader-text">This is a Standard Post</span></a></div>
<div class="more-link-wrapper"><a class="more-link" href="https://h.cowbay.org/post/install-ubuntu1804-on-dell-6ir-raid-controller/">Read the post<span class="screen-reader-text">This is a Standard Post</span></a></div>
</article>
</div>
</div>
@ -344,12 +342,12 @@ if (!doNotTrack) {
<a class="featured-image-link" href="https://h.cowbay.org/post/smartd-failed-to-start-in-freenas/"><div class='featured-image lazy lazy-bg-image' data-background="https://h.cowbay.org/images/post-default-2.jpg"></div></a>
<a class="featured-image-link" href="https://h.cowbay.org/post/ubuntu-1804-install-root-on-raid/"><div class='featured-image lazy lazy-bg-image' data-background="https://h.cowbay.org/images/post-default-14.jpg"></div></a>
<div class="excerpt-container">
<div class="excerpt-meta">
<span class="date">13 December</span>
<span class="date">16 January</span>
@ -371,20 +369,18 @@ if (!doNotTrack) {
</div>
<div class='excerpt-header'>
<h2 class='excerpt-title'>
<a href="https://h.cowbay.org/post/smartd-failed-to-start-in-freenas/ "> [筆記] Freenas Smartd 啟動失敗 Smartd Failed to Start in Freenas </a>
<a href="https://h.cowbay.org/post/ubuntu-1804-install-root-on-raid/ "> Ubuntu 1804 Install Root on Raid </a>
</h2>
</div>
<div class='excerpt-content'>
<article>
<p>這兩天在弄兩台Freenas 準備當作Proxmox 的Storage &amp; Server Backup</p>
<p>因為伺服器的限制只能接六個SATA我接了六個2T的硬碟做raid10</p>
<p>最近在弄一台機器想要把ubuntu 18.04 安裝在software raid上</p>
<p>然後把Freenas 安裝在隨身碟上</p>
<p>因為新開的機器大部分都是在proxmox上所以很少碰實體機器了</p>
<p>不過會一直出現Smartd failed to start 的錯誤訊息</p>
<p>結果在安裝過程中做raid碰到一些問題來紀錄一下</p>
<div class="more-link-wrapper"><a class="more-link" href="https://h.cowbay.org/post/smartd-failed-to-start-in-freenas/">Read the post<span class="screen-reader-text">This is a Standard Post</span></a></div>
<div class="more-link-wrapper"><a class="more-link" href="https://h.cowbay.org/post/ubuntu-1804-install-root-on-raid/">Read the post<span class="screen-reader-text">This is a Standard Post</span></a></div>
</article>
</div>
</div>
@ -402,12 +398,12 @@ if (!doNotTrack) {
<a class="featured-image-link" href="https://h.cowbay.org/post/incredibly-slow-mdadm-rebuild/"><div class='featured-image lazy lazy-bg-image' data-background="https://h.cowbay.org/images/post-default-1.jpg"></div></a>
<a class="featured-image-link" href="https://h.cowbay.org/post/smartd-failed-to-start-in-freenas/"><div class='featured-image lazy lazy-bg-image' data-background="https://h.cowbay.org/images/post-default-2.jpg"></div></a>
<div class="excerpt-container">
<div class="excerpt-meta">
<span class="date">12 December</span>
<span class="date">13 December</span>
@ -423,28 +419,26 @@ if (!doNotTrack) {
<span> / </span>
<span class="category">
<a href="/categories/%E7%A2%8E%E5%BF%B5">碎念</a>
<a href="/categories/%E7%AD%86%E8%A8%98">筆記</a>
</span>
</div>
<div class='excerpt-header'>
<h2 class='excerpt-title'>
<a href="https://h.cowbay.org/post/incredibly-slow-mdadm-rebuild/ "> [碎念] mdadm 超級慢的rebuild 速度 Incredibly Slow mdadm Rebuild </a>
<a href="https://h.cowbay.org/post/smartd-failed-to-start-in-freenas/ "> [筆記] Freenas Smartd 啟動失敗 Smartd Failed to Start in Freenas </a>
</h2>
</div>
<div class='excerpt-content'>
<article>
<p>最近在做一台老機器的P2V</p>
<p>偏偏user說不能關機所以我用dd + ssh 做線上移轉</p>
<p>這兩天在弄兩台Freenas 準備當作Proxmox 的Storage &amp; Server Backup</p>
<p>這部份有空再來寫</p>
<p>因為伺服器的限制只能接六個SATA我接了六個2T的硬碟做raid10</p>
<p>只是因為原來的設定有用mdadm 做raid1</p>
<p>然後把Freenas 安裝在隨身碟上</p>
<p>這部份導致移轉過去proxmox 後會出現raid degrade 導致無法正常開機</p>
<p>不過會一直出現Smartd failed to start 的錯誤訊息</p>
<div class="more-link-wrapper"><a class="more-link" href="https://h.cowbay.org/post/incredibly-slow-mdadm-rebuild/">Read the post<span class="screen-reader-text">This is a Standard Post</span></a></div>
<div class="more-link-wrapper"><a class="more-link" href="https://h.cowbay.org/post/smartd-failed-to-start-in-freenas/">Read the post<span class="screen-reader-text">This is a Standard Post</span></a></div>
</article>
</div>
</div>
@ -462,12 +456,12 @@ if (!doNotTrack) {
<a class="featured-image-link" href="https://h.cowbay.org/post/create-portable-vim-environment/"><div class='featured-image lazy lazy-bg-image' data-background="https://h.cowbay.org/images/post-default-8.jpg"></div></a>
<a class="featured-image-link" href="https://h.cowbay.org/post/incredibly-slow-mdadm-rebuild/"><div class='featured-image lazy lazy-bg-image' data-background="https://h.cowbay.org/images/post-default-1.jpg"></div></a>
<div class="excerpt-container">
<div class="excerpt-meta">
<span class="date">07 December</span>
<span class="date">12 December</span>
@ -483,26 +477,28 @@ if (!doNotTrack) {
<span> / </span>
<span class="category">
<a href="/categories/%E7%AD%86%E8%A8%98">筆記</a>
<a href="/categories/%E7%A2%8E%E5%BF%B5">碎念</a>
</span>
</div>
<div class='excerpt-header'>
<h2 class='excerpt-title'>
<a href="https://h.cowbay.org/post/create-portable-vim-environment/ "> [筆記] 建立一個帶著走的 VIM 環境 Creating portable Vim environment </a>
<a href="https://h.cowbay.org/post/incredibly-slow-mdadm-rebuild/ "> [碎念] mdadm 超級慢的rebuild 速度 Incredibly Slow mdadm Rebuild </a>
</h2>
</div>
<div class='excerpt-content'>
<article>
<p>因為工作的關係現在很多時間都花在VIM的操作上</p>
<p>最近在做一台老機器的P2V</p>
<p>所以之前花了滿多時間調整出一個適合自己的VIM環境</p>
<p>偏偏user說不能關機所以我用dd + ssh 做線上移轉</p>
<p>原本的作法是把這個設定好的環境丟到自己建立的gitea 上面</p>
<p>這部份有空再來寫</p>
<p>然後每到一台新的機器就要去clone 下來</p>
<p>只是因為原來的設定有用mdadm 做raid1</p>
<div class="more-link-wrapper"><a class="more-link" href="https://h.cowbay.org/post/create-portable-vim-environment/">Read the post<span class="screen-reader-text">This is a Standard Post</span></a></div>
<p>這部份導致移轉過去proxmox 後會出現raid degrade 導致無法正常開機</p>
<div class="more-link-wrapper"><a class="more-link" href="https://h.cowbay.org/post/incredibly-slow-mdadm-rebuild/">Read the post<span class="screen-reader-text">This is a Standard Post</span></a></div>
</article>
</div>
</div>
@ -520,12 +516,12 @@ if (!doNotTrack) {
<a class="featured-image-link" href="https://h.cowbay.org/post/synology-ds415-repair-cost/"><div class='featured-image lazy lazy-bg-image' data-background="https://h.cowbay.org/images/post-default-13.jpg"></div></a>
<a class="featured-image-link" href="https://h.cowbay.org/post/create-portable-vim-environment/"><div class='featured-image lazy lazy-bg-image' data-background="https://h.cowbay.org/images/post-default-8.jpg"></div></a>
<div class="excerpt-container">
<div class="excerpt-meta">
<span class="date">04 December</span>
<span class="date">07 December</span>
@ -541,34 +537,26 @@ if (!doNotTrack) {
<span> / </span>
<span class="category">
<a href="/categories/%E7%BE%A4%E6%9A%89">群暉</a>
<a href="/categories/%E7%AD%86%E8%A8%98">筆記</a>
</span>
</div>
<div class='excerpt-header'>
<h2 class='excerpt-title'>
<a href="https://h.cowbay.org/post/synology-ds415-repair-cost/ "> [雜念] 群暉 Synology NAS DS 415&#43; 誇張的維修費用 </a>
<a href="https://h.cowbay.org/post/create-portable-vim-environment/ "> [筆記] 建立一個帶著走的 VIM 環境 Creating portable Vim environment </a>
</h2>
</div>
<div class='excerpt-content'>
<article>
<p>前幾天公司的一台 Synology DS 415+ 發生異常</p>
<p>注意到的時候,四顆硬碟燈號都不斷的在閃爍</p>
<p>但是已經無法登入系統</p>
<p>重開機之後更慘,四顆硬碟燈號全部橘燈恆亮</p>
<p>底下的電源藍燈不斷的在閃爍</p>
<p>因為工作的關係現在很多時間都花在VIM的操作上</p>
<p>雖然我一再表示不希望送修了</p>
<p>所以之前花了滿多時間調整出一個適合自己的VIM環境</p>
<p>一來是已經過保二來是DS415+ 本身就有intel bug三來是因為對synology的NAS 實在沒有愛&hellip;</p>
<p>原本的作法是把這個設定好的環境丟到自己建立的gitea 上面</p>
<p>不過主管還是希望能夠先問群暉維修的費用多少</p>
<p>然後每到一台新的機器就要去clone 下來</p>
<div class="more-link-wrapper"><a class="more-link" href="https://h.cowbay.org/post/synology-ds415-repair-cost/">Read the post<span class="screen-reader-text">This is a Standard Post</span></a></div>
<div class="more-link-wrapper"><a class="more-link" href="https://h.cowbay.org/post/create-portable-vim-environment/">Read the post<span class="screen-reader-text">This is a Standard Post</span></a></div>
</article>
</div>
</div>
@ -824,7 +812,7 @@ if (!doNotTrack) {
</div>
<script src="https://h.cowbay.org/js/jquery.min.js"></script>
<script src="https://h.cowbay.org/js/jquerymigrate.js"></script>
<script src="https://h.cowbay.org/js/production.min.js?v=1576652202"></script>
<script src="https://h.cowbay.org/js/production.min.js?v=1576828465"></script>
</body>
</html>

@ -22,8 +22,8 @@
"accountablePerson" : "",
"copyrightHolder" : "",
"copyrightYear" : "2019",
"datePublished": "2019-12-18 14:44:27 \x2b0800 CST",
"dateModified" : "2019-12-18 14:44:27 \x2b0800 CST",
"datePublished": "2019-12-20 14:31:42 \x2b0800 CST",
"dateModified" : "2019-12-20 14:31:42 \x2b0800 CST",
"url" : "https:\/\/h.cowbay.org\/",
"wordCount" : "0",
"image" : "https://h.cowbay.org%!s(\u003cnil\u003e)"",
@ -46,9 +46,9 @@
<link rel="stylesheet" href="https://use.fontawesome.com/releases/v5.3.1/css/all.css" integrity="sha384-mzrmE5qonljUremFsqc01SB46JvROS7bZs3IO2EmfFsd15uHvIt+Y8vEf7N7fWAU" crossorigin="anonymous">
<link href="https://h.cowbay.org/css/style.css?v=1576652202" rel="stylesheet" id="theme-stylesheet" type='text/css' media='all'>
<link href="https://h.cowbay.org/css/style.css?v=1576828465" rel="stylesheet" id="theme-stylesheet" type='text/css' media='all'>
<link href="https://h.cowbay.org/css/custom.css?v=1576652202" rel="stylesheet" type='text/css' media='all'>
<link href="https://h.cowbay.org/css/custom.css?v=1576828465" rel="stylesheet" type='text/css' media='all'>
<link rel="shortcut icon" href="https://h.cowbay.org/img/favicon.ico" type="image/x-icon">
<link rel="icon" href="https://h.cowbay.org/img/favicon.ico" type="image/x-icon">
@ -288,6 +288,72 @@ if (!doNotTrack) {
<a class="featured-image-link" href="https://h.cowbay.org/post/synology-ds415-repair-cost/"><div class='featured-image lazy lazy-bg-image' data-background="https://h.cowbay.org/images/post-default-13.jpg"></div></a>
<div class="excerpt-container">
<div class="excerpt-meta">
<span class="date">04 December</span>
<span> / </span>
<span class="author">
<a href="https://github.com/changchichung" title="Posts by Eric Chang" rel="author">Eric Chang</a>
</span>
<span> / </span>
<span class="category">
<a href="/categories/%E7%BE%A4%E6%9A%89">群暉</a>
</span>
</div>
<div class='excerpt-header'>
<h2 class='excerpt-title'>
<a href="https://h.cowbay.org/post/synology-ds415-repair-cost/ "> [雜念] 群暉 Synology NAS DS 415&#43; 誇張的維修費用 </a>
</h2>
</div>
<div class='excerpt-content'>
<article>
<p>前幾天公司的一台 Synology DS 415+ 發生異常</p>
<p>注意到的時候,四顆硬碟燈號都不斷的在閃爍</p>
<p>但是已經無法登入系統</p>
<p>重開機之後更慘,四顆硬碟燈號全部橘燈恆亮</p>
<p>底下的電源藍燈不斷的在閃爍</p>
<p>雖然我一再表示不希望送修了</p>
<p>一來是已經過保二來是DS415+ 本身就有intel bug三來是因為對synology的NAS 實在沒有愛&hellip;</p>
<p>不過主管還是希望能夠先問群暉維修的費用多少</p>
<div class="more-link-wrapper"><a class="more-link" href="https://h.cowbay.org/post/synology-ds415-repair-cost/">Read the post<span class="screen-reader-text">This is a Standard Post</span></a></div>
</article>
</div>
</div>
</div>
<div class="post type-post status-publish format-standard has-post-thumbnail hentry category-design tag-memories tag-normal-post tag-standard-2 excerpt zoom full-without-featured even excerpt">
<a class="featured-image-link" href="https://h.cowbay.org/post/10g-lab-using-proxmox-and-mellanox/"><div class='featured-image lazy lazy-bg-image' data-background="https://h.cowbay.org/images/post-default-03.jpg"></div></a>
@ -351,7 +417,7 @@ if (!doNotTrack) {
<div class="post type-post status-publish format-standard has-post-thumbnail hentry category-design tag-memories tag-normal-post tag-standard-2 excerpt zoom full-without-featured even excerpt">
<div class="post type-post status-publish format-standard has-post-thumbnail hentry category-design tag-memories tag-normal-post tag-standard-2 excerpt zoom full-without-featured odd excerpt">
@ -407,7 +473,7 @@ if (!doNotTrack) {
<div class="post type-post status-publish format-standard has-post-thumbnail hentry category-design tag-memories tag-normal-post tag-standard-2 excerpt zoom full-without-featured odd excerpt">
<div class="post type-post status-publish format-standard has-post-thumbnail hentry category-design tag-memories tag-normal-post tag-standard-2 excerpt zoom full-without-featured even excerpt">
@ -502,7 +568,7 @@ if (!doNotTrack) {
<div class="post type-post status-publish format-standard has-post-thumbnail hentry category-design tag-memories tag-normal-post tag-standard-2 excerpt zoom full-without-featured even excerpt">
<div class="post type-post status-publish format-standard has-post-thumbnail hentry category-design tag-memories tag-normal-post tag-standard-2 excerpt zoom full-without-featured odd excerpt">
@ -553,64 +619,6 @@ if (!doNotTrack) {
</div>
</div>
<div class="post type-post status-publish format-standard has-post-thumbnail hentry category-design tag-memories tag-normal-post tag-standard-2 excerpt zoom full-without-featured odd excerpt">
<a class="featured-image-link" href="https://h.cowbay.org/post/copy_role_in_pgsql/"><div class='featured-image lazy lazy-bg-image' data-background="https://h.cowbay.org/images/post-default-7.jpg"></div></a>
<div class="excerpt-container">
<div class="excerpt-meta">
<span class="date">12 November</span>
<span> / </span>
<span class="author">
<a href="https://github.com/changchichung" title="Posts by Eric Chang" rel="author">Eric Chang</a>
</span>
<span> / </span>
<span class="category">
<a href="/categories/%E7%AD%86%E8%A8%98">筆記</a>
</span>
</div>
<div class='excerpt-header'>
<h2 class='excerpt-title'>
<a href="https://h.cowbay.org/post/copy_role_in_pgsql/ "> PostgreSQL 直接從已經存在的使用者複製權限到另一個使用者 </a>
</h2>
</div>
<div class='excerpt-content'>
<article>
<p>因為工作上的需求有個資料庫需要開放給不同team的人去存取</p>
<p>雖然都是在同一台機器上的同一個資料庫</p>
<p>但是希望能夠不同team的人用不同的資料庫使用者</p>
<p>這樣萬一出事,會比較好抓兇手??</p>
<div class="more-link-wrapper"><a class="more-link" href="https://h.cowbay.org/post/copy_role_in_pgsql/">Read the post<span class="screen-reader-text">This is a Standard Post</span></a></div>
</article>
</div>
</div>
</div>
</div>
@ -859,7 +867,7 @@ if (!doNotTrack) {
</div>
<script src="https://h.cowbay.org/js/jquery.min.js"></script>
<script src="https://h.cowbay.org/js/jquerymigrate.js"></script>
<script src="https://h.cowbay.org/js/production.min.js?v=1576652202"></script>
<script src="https://h.cowbay.org/js/production.min.js?v=1576828465"></script>
</body>
</html>

@ -22,8 +22,8 @@
"accountablePerson" : "",
"copyrightHolder" : "",
"copyrightYear" : "2019",
"datePublished": "2019-12-18 14:44:27 \x2b0800 CST",
"dateModified" : "2019-12-18 14:44:27 \x2b0800 CST",
"datePublished": "2019-12-20 14:31:42 \x2b0800 CST",
"dateModified" : "2019-12-20 14:31:42 \x2b0800 CST",
"url" : "https:\/\/h.cowbay.org\/",
"wordCount" : "0",
"image" : "https://h.cowbay.org%!s(\u003cnil\u003e)"",
@ -46,9 +46,9 @@
<link rel="stylesheet" href="https://use.fontawesome.com/releases/v5.3.1/css/all.css" integrity="sha384-mzrmE5qonljUremFsqc01SB46JvROS7bZs3IO2EmfFsd15uHvIt+Y8vEf7N7fWAU" crossorigin="anonymous">
<link href="https://h.cowbay.org/css/style.css?v=1576652202" rel="stylesheet" id="theme-stylesheet" type='text/css' media='all'>
<link href="https://h.cowbay.org/css/style.css?v=1576828465" rel="stylesheet" id="theme-stylesheet" type='text/css' media='all'>
<link href="https://h.cowbay.org/css/custom.css?v=1576652202" rel="stylesheet" type='text/css' media='all'>
<link href="https://h.cowbay.org/css/custom.css?v=1576828465" rel="stylesheet" type='text/css' media='all'>
<link rel="shortcut icon" href="https://h.cowbay.org/img/favicon.ico" type="image/x-icon">
<link rel="icon" href="https://h.cowbay.org/img/favicon.ico" type="image/x-icon">
@ -288,6 +288,64 @@ if (!doNotTrack) {
<a class="featured-image-link" href="https://h.cowbay.org/post/copy_role_in_pgsql/"><div class='featured-image lazy lazy-bg-image' data-background="https://h.cowbay.org/images/post-default-7.jpg"></div></a>
<div class="excerpt-container">
<div class="excerpt-meta">
<span class="date">12 November</span>
<span> / </span>
<span class="author">
<a href="https://github.com/changchichung" title="Posts by Eric Chang" rel="author">Eric Chang</a>
</span>
<span> / </span>
<span class="category">
<a href="/categories/%E7%AD%86%E8%A8%98">筆記</a>
</span>
</div>
<div class='excerpt-header'>
<h2 class='excerpt-title'>
<a href="https://h.cowbay.org/post/copy_role_in_pgsql/ "> PostgreSQL 直接從已經存在的使用者複製權限到另一個使用者 </a>
</h2>
</div>
<div class='excerpt-content'>
<article>
<p>因為工作上的需求有個資料庫需要開放給不同team的人去存取</p>
<p>雖然都是在同一台機器上的同一個資料庫</p>
<p>但是希望能夠不同team的人用不同的資料庫使用者</p>
<p>這樣萬一出事,會比較好抓兇手??</p>
<div class="more-link-wrapper"><a class="more-link" href="https://h.cowbay.org/post/copy_role_in_pgsql/">Read the post<span class="screen-reader-text">This is a Standard Post</span></a></div>
</article>
</div>
</div>
</div>
<div class="post type-post status-publish format-standard has-post-thumbnail hentry category-design tag-memories tag-normal-post tag-standard-2 excerpt zoom full-without-featured even excerpt">
<a class="featured-image-link" href="https://h.cowbay.org/post/weird-client-server-connection/"><div class='featured-image lazy lazy-bg-image' data-background="https://h.cowbay.org/images/post-default-4.jpg"></div></a>
@ -347,7 +405,7 @@ if (!doNotTrack) {
<div class="post type-post status-publish format-standard has-post-thumbnail hentry category-design tag-memories tag-normal-post tag-standard-2 excerpt zoom full-without-featured even excerpt">
<div class="post type-post status-publish format-standard has-post-thumbnail hentry category-design tag-memories tag-normal-post tag-standard-2 excerpt zoom full-without-featured odd excerpt">
@ -404,7 +462,7 @@ if (!doNotTrack) {
<div class="post type-post status-publish format-standard has-post-thumbnail hentry category-design tag-memories tag-normal-post tag-standard-2 excerpt zoom full-without-featured odd excerpt">
<div class="post type-post status-publish format-standard has-post-thumbnail hentry category-design tag-memories tag-normal-post tag-standard-2 excerpt zoom full-without-featured even excerpt">
@ -472,7 +530,7 @@ if (!doNotTrack) {
<div class="post type-post status-publish format-standard has-post-thumbnail hentry category-design tag-memories tag-normal-post tag-standard-2 excerpt zoom full-without-featured even excerpt">
<div class="post type-post status-publish format-standard has-post-thumbnail hentry category-design tag-memories tag-normal-post tag-standard-2 excerpt zoom full-without-featured odd excerpt">
@ -774,7 +832,7 @@ if (!doNotTrack) {
</div>
<script src="https://h.cowbay.org/js/jquery.min.js"></script>
<script src="https://h.cowbay.org/js/jquerymigrate.js"></script>
<script src="https://h.cowbay.org/js/production.min.js?v=1576652202"></script>
<script src="https://h.cowbay.org/js/production.min.js?v=1576828465"></script>
</body>
</html>

@ -45,9 +45,9 @@
<link rel="stylesheet" href="https://use.fontawesome.com/releases/v5.3.1/css/all.css" integrity="sha384-mzrmE5qonljUremFsqc01SB46JvROS7bZs3IO2EmfFsd15uHvIt+Y8vEf7N7fWAU" crossorigin="anonymous">
<link href="https://h.cowbay.org/css/style.css?v=1576652202" rel="stylesheet" id="theme-stylesheet" type='text/css' media='all'>
<link href="https://h.cowbay.org/css/style.css?v=1576828466" rel="stylesheet" id="theme-stylesheet" type='text/css' media='all'>
<link href="https://h.cowbay.org/css/custom.css?v=1576652202" rel="stylesheet" type='text/css' media='all'>
<link href="https://h.cowbay.org/css/custom.css?v=1576828466" rel="stylesheet" type='text/css' media='all'>
<link rel="shortcut icon" href="https://h.cowbay.org/img/favicon.ico" type="image/x-icon">
<link rel="icon" href="https://h.cowbay.org/img/favicon.ico" type="image/x-icon">
@ -814,7 +814,7 @@ title="pinterest icon"></i>
</div>
<script src="https://h.cowbay.org/js/jquery.min.js"></script>
<script src="https://h.cowbay.org/js/jquerymigrate.js"></script>
<script src="https://h.cowbay.org/js/production.min.js?v=1576652202"></script>
<script src="https://h.cowbay.org/js/production.min.js?v=1576828466"></script>
</body>
</html>

@ -45,9 +45,9 @@
<link rel="stylesheet" href="https://use.fontawesome.com/releases/v5.3.1/css/all.css" integrity="sha384-mzrmE5qonljUremFsqc01SB46JvROS7bZs3IO2EmfFsd15uHvIt+Y8vEf7N7fWAU" crossorigin="anonymous">
<link href="https://h.cowbay.org/css/style.css?v=1576652201" rel="stylesheet" id="theme-stylesheet" type='text/css' media='all'>
<link href="https://h.cowbay.org/css/style.css?v=1576828465" rel="stylesheet" id="theme-stylesheet" type='text/css' media='all'>
<link href="https://h.cowbay.org/css/custom.css?v=1576652201" rel="stylesheet" type='text/css' media='all'>
<link href="https://h.cowbay.org/css/custom.css?v=1576828465" rel="stylesheet" type='text/css' media='all'>
<link rel="shortcut icon" href="https://h.cowbay.org/img/favicon.ico" type="image/x-icon">
<link rel="icon" href="https://h.cowbay.org/img/favicon.ico" type="image/x-icon">
@ -684,7 +684,7 @@ title="pinterest icon"></i>
</div>
<script src="https://h.cowbay.org/js/jquery.min.js"></script>
<script src="https://h.cowbay.org/js/jquerymigrate.js"></script>
<script src="https://h.cowbay.org/js/production.min.js?v=1576652201"></script>
<script src="https://h.cowbay.org/js/production.min.js?v=1576828465"></script>
</body>
</html>

@ -45,9 +45,9 @@
<link rel="stylesheet" href="https://use.fontawesome.com/releases/v5.3.1/css/all.css" integrity="sha384-mzrmE5qonljUremFsqc01SB46JvROS7bZs3IO2EmfFsd15uHvIt+Y8vEf7N7fWAU" crossorigin="anonymous">
<link href="https://h.cowbay.org/css/style.css?v=1576652202" rel="stylesheet" id="theme-stylesheet" type='text/css' media='all'>
<link href="https://h.cowbay.org/css/style.css?v=1576828465" rel="stylesheet" id="theme-stylesheet" type='text/css' media='all'>
<link href="https://h.cowbay.org/css/custom.css?v=1576652202" rel="stylesheet" type='text/css' media='all'>
<link href="https://h.cowbay.org/css/custom.css?v=1576828465" rel="stylesheet" type='text/css' media='all'>
<link rel="shortcut icon" href="https://h.cowbay.org/img/favicon.ico" type="image/x-icon">
<link rel="icon" href="https://h.cowbay.org/img/favicon.ico" type="image/x-icon">
@ -652,7 +652,7 @@ title="pinterest icon"></i>
</div>
<script src="https://h.cowbay.org/js/jquery.min.js"></script>
<script src="https://h.cowbay.org/js/jquerymigrate.js"></script>
<script src="https://h.cowbay.org/js/production.min.js?v=1576652202"></script>
<script src="https://h.cowbay.org/js/production.min.js?v=1576828465"></script>
</body>
</html>

@ -45,9 +45,9 @@
<link rel="stylesheet" href="https://use.fontawesome.com/releases/v5.3.1/css/all.css" integrity="sha384-mzrmE5qonljUremFsqc01SB46JvROS7bZs3IO2EmfFsd15uHvIt+Y8vEf7N7fWAU" crossorigin="anonymous">
<link href="https://h.cowbay.org/css/style.css?v=1576652202" rel="stylesheet" id="theme-stylesheet" type='text/css' media='all'>
<link href="https://h.cowbay.org/css/style.css?v=1576828466" rel="stylesheet" id="theme-stylesheet" type='text/css' media='all'>
<link href="https://h.cowbay.org/css/custom.css?v=1576652202" rel="stylesheet" type='text/css' media='all'>
<link href="https://h.cowbay.org/css/custom.css?v=1576828466" rel="stylesheet" type='text/css' media='all'>
<link rel="shortcut icon" href="https://h.cowbay.org/img/favicon.ico" type="image/x-icon">
<link rel="icon" href="https://h.cowbay.org/img/favicon.ico" type="image/x-icon">
@ -614,7 +614,7 @@ title="pinterest icon"></i>
</div>
<script src="https://h.cowbay.org/js/jquery.min.js"></script>
<script src="https://h.cowbay.org/js/jquerymigrate.js"></script>
<script src="https://h.cowbay.org/js/production.min.js?v=1576652202"></script>
<script src="https://h.cowbay.org/js/production.min.js?v=1576828466"></script>
</body>
</html>

@ -45,9 +45,9 @@
<link rel="stylesheet" href="https://use.fontawesome.com/releases/v5.3.1/css/all.css" integrity="sha384-mzrmE5qonljUremFsqc01SB46JvROS7bZs3IO2EmfFsd15uHvIt+Y8vEf7N7fWAU" crossorigin="anonymous">
<link href="https://h.cowbay.org/css/style.css?v=1576652202" rel="stylesheet" id="theme-stylesheet" type='text/css' media='all'>
<link href="https://h.cowbay.org/css/style.css?v=1576828466" rel="stylesheet" id="theme-stylesheet" type='text/css' media='all'>
<link href="https://h.cowbay.org/css/custom.css?v=1576652202" rel="stylesheet" type='text/css' media='all'>
<link href="https://h.cowbay.org/css/custom.css?v=1576828466" rel="stylesheet" type='text/css' media='all'>
<link rel="shortcut icon" href="https://h.cowbay.org/img/favicon.ico" type="image/x-icon">
<link rel="icon" href="https://h.cowbay.org/img/favicon.ico" type="image/x-icon">
@ -697,7 +697,7 @@ title="pinterest icon"></i>
</div>
<script src="https://h.cowbay.org/js/jquery.min.js"></script>
<script src="https://h.cowbay.org/js/jquerymigrate.js"></script>
<script src="https://h.cowbay.org/js/production.min.js?v=1576652202"></script>
<script src="https://h.cowbay.org/js/production.min.js?v=1576828466"></script>
</body>
</html>

@ -45,9 +45,9 @@
<link rel="stylesheet" href="https://use.fontawesome.com/releases/v5.3.1/css/all.css" integrity="sha384-mzrmE5qonljUremFsqc01SB46JvROS7bZs3IO2EmfFsd15uHvIt+Y8vEf7N7fWAU" crossorigin="anonymous">
<link href="https://h.cowbay.org/css/style.css?v=1576652202" rel="stylesheet" id="theme-stylesheet" type='text/css' media='all'>
<link href="https://h.cowbay.org/css/style.css?v=1576828466" rel="stylesheet" id="theme-stylesheet" type='text/css' media='all'>
<link href="https://h.cowbay.org/css/custom.css?v=1576652202" rel="stylesheet" type='text/css' media='all'>
<link href="https://h.cowbay.org/css/custom.css?v=1576828466" rel="stylesheet" type='text/css' media='all'>
<link rel="shortcut icon" href="https://h.cowbay.org/img/favicon.ico" type="image/x-icon">
<link rel="icon" href="https://h.cowbay.org/img/favicon.ico" type="image/x-icon">
@ -617,7 +617,7 @@ title="pinterest icon"></i>
</div>
<script src="https://h.cowbay.org/js/jquery.min.js"></script>
<script src="https://h.cowbay.org/js/jquerymigrate.js"></script>
<script src="https://h.cowbay.org/js/production.min.js?v=1576652202"></script>
<script src="https://h.cowbay.org/js/production.min.js?v=1576828466"></script>
</body>
</html>

@ -45,9 +45,9 @@
<link rel="stylesheet" href="https://use.fontawesome.com/releases/v5.3.1/css/all.css" integrity="sha384-mzrmE5qonljUremFsqc01SB46JvROS7bZs3IO2EmfFsd15uHvIt+Y8vEf7N7fWAU" crossorigin="anonymous">
<link href="https://h.cowbay.org/css/style.css?v=1576652202" rel="stylesheet" id="theme-stylesheet" type='text/css' media='all'>
<link href="https://h.cowbay.org/css/style.css?v=1576828466" rel="stylesheet" id="theme-stylesheet" type='text/css' media='all'>
<link href="https://h.cowbay.org/css/custom.css?v=1576652202" rel="stylesheet" type='text/css' media='all'>
<link href="https://h.cowbay.org/css/custom.css?v=1576828466" rel="stylesheet" type='text/css' media='all'>
<link rel="shortcut icon" href="https://h.cowbay.org/img/favicon.ico" type="image/x-icon">
<link rel="icon" href="https://h.cowbay.org/img/favicon.ico" type="image/x-icon">
@ -672,7 +672,7 @@ title="pinterest icon"></i>
</div>
<script src="https://h.cowbay.org/js/jquery.min.js"></script>
<script src="https://h.cowbay.org/js/jquerymigrate.js"></script>
<script src="https://h.cowbay.org/js/production.min.js?v=1576652202"></script>
<script src="https://h.cowbay.org/js/production.min.js?v=1576828466"></script>
</body>
</html>

@ -45,9 +45,9 @@
<link rel="stylesheet" href="https://use.fontawesome.com/releases/v5.3.1/css/all.css" integrity="sha384-mzrmE5qonljUremFsqc01SB46JvROS7bZs3IO2EmfFsd15uHvIt+Y8vEf7N7fWAU" crossorigin="anonymous">
<link href="https://h.cowbay.org/css/style.css?v=1576652202" rel="stylesheet" id="theme-stylesheet" type='text/css' media='all'>
<link href="https://h.cowbay.org/css/style.css?v=1576828466" rel="stylesheet" id="theme-stylesheet" type='text/css' media='all'>
<link href="https://h.cowbay.org/css/custom.css?v=1576652202" rel="stylesheet" type='text/css' media='all'>
<link href="https://h.cowbay.org/css/custom.css?v=1576828466" rel="stylesheet" type='text/css' media='all'>
<link rel="shortcut icon" href="https://h.cowbay.org/img/favicon.ico" type="image/x-icon">
<link rel="icon" href="https://h.cowbay.org/img/favicon.ico" type="image/x-icon">
@ -728,7 +728,7 @@ title="pinterest icon"></i>
</div>
<script src="https://h.cowbay.org/js/jquery.min.js"></script>
<script src="https://h.cowbay.org/js/jquerymigrate.js"></script>
<script src="https://h.cowbay.org/js/production.min.js?v=1576652202"></script>
<script src="https://h.cowbay.org/js/production.min.js?v=1576828466"></script>
</body>
</html>

@ -45,9 +45,9 @@
<link rel="stylesheet" href="https://use.fontawesome.com/releases/v5.3.1/css/all.css" integrity="sha384-mzrmE5qonljUremFsqc01SB46JvROS7bZs3IO2EmfFsd15uHvIt+Y8vEf7N7fWAU" crossorigin="anonymous">
<link href="https://h.cowbay.org/css/style.css?v=1576652202" rel="stylesheet" id="theme-stylesheet" type='text/css' media='all'>
<link href="https://h.cowbay.org/css/style.css?v=1576828465" rel="stylesheet" id="theme-stylesheet" type='text/css' media='all'>
<link href="https://h.cowbay.org/css/custom.css?v=1576652202" rel="stylesheet" type='text/css' media='all'>
<link href="https://h.cowbay.org/css/custom.css?v=1576828465" rel="stylesheet" type='text/css' media='all'>
<link rel="shortcut icon" href="https://h.cowbay.org/img/favicon.ico" type="image/x-icon">
<link rel="icon" href="https://h.cowbay.org/img/favicon.ico" type="image/x-icon">
@ -629,7 +629,7 @@ title="pinterest icon"></i>
</div>
<script src="https://h.cowbay.org/js/jquery.min.js"></script>
<script src="https://h.cowbay.org/js/jquerymigrate.js"></script>
<script src="https://h.cowbay.org/js/production.min.js?v=1576652202"></script>
<script src="https://h.cowbay.org/js/production.min.js?v=1576828465"></script>
</body>
</html>

@ -45,9 +45,9 @@
<link rel="stylesheet" href="https://use.fontawesome.com/releases/v5.3.1/css/all.css" integrity="sha384-mzrmE5qonljUremFsqc01SB46JvROS7bZs3IO2EmfFsd15uHvIt+Y8vEf7N7fWAU" crossorigin="anonymous">
<link href="https://h.cowbay.org/css/style.css?v=1576652202" rel="stylesheet" id="theme-stylesheet" type='text/css' media='all'>
<link href="https://h.cowbay.org/css/style.css?v=1576828465" rel="stylesheet" id="theme-stylesheet" type='text/css' media='all'>
<link href="https://h.cowbay.org/css/custom.css?v=1576652202" rel="stylesheet" type='text/css' media='all'>
<link href="https://h.cowbay.org/css/custom.css?v=1576828465" rel="stylesheet" type='text/css' media='all'>
<link rel="shortcut icon" href="https://h.cowbay.org/img/favicon.ico" type="image/x-icon">
<link rel="icon" href="https://h.cowbay.org/img/favicon.ico" type="image/x-icon">
@ -854,7 +854,7 @@ title="pinterest icon"></i>
</div>
<script src="https://h.cowbay.org/js/jquery.min.js"></script>
<script src="https://h.cowbay.org/js/jquerymigrate.js"></script>
<script src="https://h.cowbay.org/js/production.min.js?v=1576652202"></script>
<script src="https://h.cowbay.org/js/production.min.js?v=1576828465"></script>
</body>
</html>

@ -45,9 +45,9 @@
<link rel="stylesheet" href="https://use.fontawesome.com/releases/v5.3.1/css/all.css" integrity="sha384-mzrmE5qonljUremFsqc01SB46JvROS7bZs3IO2EmfFsd15uHvIt+Y8vEf7N7fWAU" crossorigin="anonymous">
<link href="https://h.cowbay.org/css/style.css?v=1576652202" rel="stylesheet" id="theme-stylesheet" type='text/css' media='all'>
<link href="https://h.cowbay.org/css/style.css?v=1576828465" rel="stylesheet" id="theme-stylesheet" type='text/css' media='all'>
<link href="https://h.cowbay.org/css/custom.css?v=1576652202" rel="stylesheet" type='text/css' media='all'>
<link href="https://h.cowbay.org/css/custom.css?v=1576828465" rel="stylesheet" type='text/css' media='all'>
<link rel="shortcut icon" href="https://h.cowbay.org/img/favicon.ico" type="image/x-icon">
<link rel="icon" href="https://h.cowbay.org/img/favicon.ico" type="image/x-icon">
@ -996,7 +996,7 @@ title="pinterest icon"></i>
</div>
<script src="https://h.cowbay.org/js/jquery.min.js"></script>
<script src="https://h.cowbay.org/js/jquerymigrate.js"></script>
<script src="https://h.cowbay.org/js/production.min.js?v=1576652202"></script>
<script src="https://h.cowbay.org/js/production.min.js?v=1576828465"></script>
</body>
</html>

@ -45,9 +45,9 @@
<link rel="stylesheet" href="https://use.fontawesome.com/releases/v5.3.1/css/all.css" integrity="sha384-mzrmE5qonljUremFsqc01SB46JvROS7bZs3IO2EmfFsd15uHvIt+Y8vEf7N7fWAU" crossorigin="anonymous">
<link href="https://h.cowbay.org/css/style.css?v=1576652202" rel="stylesheet" id="theme-stylesheet" type='text/css' media='all'>
<link href="https://h.cowbay.org/css/style.css?v=1576828466" rel="stylesheet" id="theme-stylesheet" type='text/css' media='all'>
<link href="https://h.cowbay.org/css/custom.css?v=1576652202" rel="stylesheet" type='text/css' media='all'>
<link href="https://h.cowbay.org/css/custom.css?v=1576828466" rel="stylesheet" type='text/css' media='all'>
<link rel="shortcut icon" href="https://h.cowbay.org/img/favicon.ico" type="image/x-icon">
<link rel="icon" href="https://h.cowbay.org/img/favicon.ico" type="image/x-icon">
@ -683,7 +683,7 @@ title="pinterest icon"></i>
</div>
<script src="https://h.cowbay.org/js/jquery.min.js"></script>
<script src="https://h.cowbay.org/js/jquerymigrate.js"></script>
<script src="https://h.cowbay.org/js/production.min.js?v=1576652202"></script>
<script src="https://h.cowbay.org/js/production.min.js?v=1576828466"></script>
</body>
</html>

@ -45,9 +45,9 @@
<link rel="stylesheet" href="https://use.fontawesome.com/releases/v5.3.1/css/all.css" integrity="sha384-mzrmE5qonljUremFsqc01SB46JvROS7bZs3IO2EmfFsd15uHvIt+Y8vEf7N7fWAU" crossorigin="anonymous">
<link href="https://h.cowbay.org/css/style.css?v=1576652202" rel="stylesheet" id="theme-stylesheet" type='text/css' media='all'>
<link href="https://h.cowbay.org/css/style.css?v=1576828466" rel="stylesheet" id="theme-stylesheet" type='text/css' media='all'>
<link href="https://h.cowbay.org/css/custom.css?v=1576652202" rel="stylesheet" type='text/css' media='all'>
<link href="https://h.cowbay.org/css/custom.css?v=1576828466" rel="stylesheet" type='text/css' media='all'>
<link rel="shortcut icon" href="https://h.cowbay.org/img/favicon.ico" type="image/x-icon">
<link rel="icon" href="https://h.cowbay.org/img/favicon.ico" type="image/x-icon">
@ -657,7 +657,7 @@ title="pinterest icon"></i>
</div>
<script src="https://h.cowbay.org/js/jquery.min.js"></script>
<script src="https://h.cowbay.org/js/jquerymigrate.js"></script>
<script src="https://h.cowbay.org/js/production.min.js?v=1576652202"></script>
<script src="https://h.cowbay.org/js/production.min.js?v=1576828466"></script>
</body>
</html>

@ -45,9 +45,9 @@
<link rel="stylesheet" href="https://use.fontawesome.com/releases/v5.3.1/css/all.css" integrity="sha384-mzrmE5qonljUremFsqc01SB46JvROS7bZs3IO2EmfFsd15uHvIt+Y8vEf7N7fWAU" crossorigin="anonymous">
<link href="https://h.cowbay.org/css/style.css?v=1576652202" rel="stylesheet" id="theme-stylesheet" type='text/css' media='all'>
<link href="https://h.cowbay.org/css/style.css?v=1576828466" rel="stylesheet" id="theme-stylesheet" type='text/css' media='all'>
<link href="https://h.cowbay.org/css/custom.css?v=1576652202" rel="stylesheet" type='text/css' media='all'>
<link href="https://h.cowbay.org/css/custom.css?v=1576828466" rel="stylesheet" type='text/css' media='all'>
<link rel="shortcut icon" href="https://h.cowbay.org/img/favicon.ico" type="image/x-icon">
<link rel="icon" href="https://h.cowbay.org/img/favicon.ico" type="image/x-icon">
@ -721,7 +721,7 @@ title="pinterest icon"></i>
</div>
<script src="https://h.cowbay.org/js/jquery.min.js"></script>
<script src="https://h.cowbay.org/js/jquerymigrate.js"></script>
<script src="https://h.cowbay.org/js/production.min.js?v=1576652202"></script>
<script src="https://h.cowbay.org/js/production.min.js?v=1576828466"></script>
</body>
</html>

@ -45,9 +45,9 @@
<link rel="stylesheet" href="https://use.fontawesome.com/releases/v5.3.1/css/all.css" integrity="sha384-mzrmE5qonljUremFsqc01SB46JvROS7bZs3IO2EmfFsd15uHvIt+Y8vEf7N7fWAU" crossorigin="anonymous">
<link href="https://h.cowbay.org/css/style.css?v=1576652202" rel="stylesheet" id="theme-stylesheet" type='text/css' media='all'>
<link href="https://h.cowbay.org/css/style.css?v=1576828466" rel="stylesheet" id="theme-stylesheet" type='text/css' media='all'>
<link href="https://h.cowbay.org/css/custom.css?v=1576652202" rel="stylesheet" type='text/css' media='all'>
<link href="https://h.cowbay.org/css/custom.css?v=1576828466" rel="stylesheet" type='text/css' media='all'>
<link rel="shortcut icon" href="https://h.cowbay.org/img/favicon.ico" type="image/x-icon">
<link rel="icon" href="https://h.cowbay.org/img/favicon.ico" type="image/x-icon">
@ -798,7 +798,7 @@ title="pinterest icon"></i>
</div>
<script src="https://h.cowbay.org/js/jquery.min.js"></script>
<script src="https://h.cowbay.org/js/jquerymigrate.js"></script>
<script src="https://h.cowbay.org/js/production.min.js?v=1576652202"></script>
<script src="https://h.cowbay.org/js/production.min.js?v=1576828466"></script>
</body>
</html>

@ -45,9 +45,9 @@
<link rel="stylesheet" href="https://use.fontawesome.com/releases/v5.3.1/css/all.css" integrity="sha384-mzrmE5qonljUremFsqc01SB46JvROS7bZs3IO2EmfFsd15uHvIt+Y8vEf7N7fWAU" crossorigin="anonymous">
<link href="https://h.cowbay.org/css/style.css?v=1576652202" rel="stylesheet" id="theme-stylesheet" type='text/css' media='all'>
<link href="https://h.cowbay.org/css/style.css?v=1576828466" rel="stylesheet" id="theme-stylesheet" type='text/css' media='all'>
<link href="https://h.cowbay.org/css/custom.css?v=1576652202" rel="stylesheet" type='text/css' media='all'>
<link href="https://h.cowbay.org/css/custom.css?v=1576828466" rel="stylesheet" type='text/css' media='all'>
<link rel="shortcut icon" href="https://h.cowbay.org/img/favicon.ico" type="image/x-icon">
<link rel="icon" href="https://h.cowbay.org/img/favicon.ico" type="image/x-icon">
@ -615,7 +615,7 @@ title="pinterest icon"></i>
</div>
<script src="https://h.cowbay.org/js/jquery.min.js"></script>
<script src="https://h.cowbay.org/js/jquerymigrate.js"></script>
<script src="https://h.cowbay.org/js/production.min.js?v=1576652202"></script>
<script src="https://h.cowbay.org/js/production.min.js?v=1576828466"></script>
</body>
</html>

@ -45,9 +45,9 @@
<link rel="stylesheet" href="https://use.fontawesome.com/releases/v5.3.1/css/all.css" integrity="sha384-mzrmE5qonljUremFsqc01SB46JvROS7bZs3IO2EmfFsd15uHvIt+Y8vEf7N7fWAU" crossorigin="anonymous">
<link href="https://h.cowbay.org/css/style.css?v=1576652202" rel="stylesheet" id="theme-stylesheet" type='text/css' media='all'>
<link href="https://h.cowbay.org/css/style.css?v=1576828466" rel="stylesheet" id="theme-stylesheet" type='text/css' media='all'>
<link href="https://h.cowbay.org/css/custom.css?v=1576652202" rel="stylesheet" type='text/css' media='all'>
<link href="https://h.cowbay.org/css/custom.css?v=1576828466" rel="stylesheet" type='text/css' media='all'>
<link rel="shortcut icon" href="https://h.cowbay.org/img/favicon.ico" type="image/x-icon">
<link rel="icon" href="https://h.cowbay.org/img/favicon.ico" type="image/x-icon">
@ -628,7 +628,7 @@ title="pinterest icon"></i>
</div>
<script src="https://h.cowbay.org/js/jquery.min.js"></script>
<script src="https://h.cowbay.org/js/jquerymigrate.js"></script>
<script src="https://h.cowbay.org/js/production.min.js?v=1576652202"></script>
<script src="https://h.cowbay.org/js/production.min.js?v=1576828466"></script>
</body>
</html>

@ -45,9 +45,9 @@
<link rel="stylesheet" href="https://use.fontawesome.com/releases/v5.3.1/css/all.css" integrity="sha384-mzrmE5qonljUremFsqc01SB46JvROS7bZs3IO2EmfFsd15uHvIt+Y8vEf7N7fWAU" crossorigin="anonymous">
<link href="https://h.cowbay.org/css/style.css?v=1576652202" rel="stylesheet" id="theme-stylesheet" type='text/css' media='all'>
<link href="https://h.cowbay.org/css/style.css?v=1576828466" rel="stylesheet" id="theme-stylesheet" type='text/css' media='all'>
<link href="https://h.cowbay.org/css/custom.css?v=1576652202" rel="stylesheet" type='text/css' media='all'>
<link href="https://h.cowbay.org/css/custom.css?v=1576828466" rel="stylesheet" type='text/css' media='all'>
<link rel="shortcut icon" href="https://h.cowbay.org/img/favicon.ico" type="image/x-icon">
<link rel="icon" href="https://h.cowbay.org/img/favicon.ico" type="image/x-icon">
@ -683,7 +683,7 @@ title="pinterest icon"></i>
</div>
<script src="https://h.cowbay.org/js/jquery.min.js"></script>
<script src="https://h.cowbay.org/js/jquerymigrate.js"></script>
<script src="https://h.cowbay.org/js/production.min.js?v=1576652202"></script>
<script src="https://h.cowbay.org/js/production.min.js?v=1576828466"></script>
</body>
</html>

@ -45,9 +45,9 @@
<link rel="stylesheet" href="https://use.fontawesome.com/releases/v5.3.1/css/all.css" integrity="sha384-mzrmE5qonljUremFsqc01SB46JvROS7bZs3IO2EmfFsd15uHvIt+Y8vEf7N7fWAU" crossorigin="anonymous">
<link href="https://h.cowbay.org/css/style.css?v=1576652202" rel="stylesheet" id="theme-stylesheet" type='text/css' media='all'>
<link href="https://h.cowbay.org/css/style.css?v=1576828466" rel="stylesheet" id="theme-stylesheet" type='text/css' media='all'>
<link href="https://h.cowbay.org/css/custom.css?v=1576652202" rel="stylesheet" type='text/css' media='all'>
<link href="https://h.cowbay.org/css/custom.css?v=1576828466" rel="stylesheet" type='text/css' media='all'>
<link rel="shortcut icon" href="https://h.cowbay.org/img/favicon.ico" type="image/x-icon">
<link rel="icon" href="https://h.cowbay.org/img/favicon.ico" type="image/x-icon">
@ -701,7 +701,7 @@ title="pinterest icon"></i>
</div>
<script src="https://h.cowbay.org/js/jquery.min.js"></script>
<script src="https://h.cowbay.org/js/jquerymigrate.js"></script>
<script src="https://h.cowbay.org/js/production.min.js?v=1576652202"></script>
<script src="https://h.cowbay.org/js/production.min.js?v=1576828466"></script>
</body>
</html>

@ -45,9 +45,9 @@
<link rel="stylesheet" href="https://use.fontawesome.com/releases/v5.3.1/css/all.css" integrity="sha384-mzrmE5qonljUremFsqc01SB46JvROS7bZs3IO2EmfFsd15uHvIt+Y8vEf7N7fWAU" crossorigin="anonymous">
<link href="https://h.cowbay.org/css/style.css?v=1576652202" rel="stylesheet" id="theme-stylesheet" type='text/css' media='all'>
<link href="https://h.cowbay.org/css/style.css?v=1576828466" rel="stylesheet" id="theme-stylesheet" type='text/css' media='all'>
<link href="https://h.cowbay.org/css/custom.css?v=1576652202" rel="stylesheet" type='text/css' media='all'>
<link href="https://h.cowbay.org/css/custom.css?v=1576828466" rel="stylesheet" type='text/css' media='all'>
<link rel="shortcut icon" href="https://h.cowbay.org/img/favicon.ico" type="image/x-icon">
<link rel="icon" href="https://h.cowbay.org/img/favicon.ico" type="image/x-icon">
@ -648,7 +648,7 @@ title="pinterest icon"></i>
</div>
<script src="https://h.cowbay.org/js/jquery.min.js"></script>
<script src="https://h.cowbay.org/js/jquerymigrate.js"></script>
<script src="https://h.cowbay.org/js/production.min.js?v=1576652202"></script>
<script src="https://h.cowbay.org/js/production.min.js?v=1576828466"></script>
</body>
</html>

@ -45,9 +45,9 @@
<link rel="stylesheet" href="https://use.fontawesome.com/releases/v5.3.1/css/all.css" integrity="sha384-mzrmE5qonljUremFsqc01SB46JvROS7bZs3IO2EmfFsd15uHvIt+Y8vEf7N7fWAU" crossorigin="anonymous">
<link href="https://h.cowbay.org/css/style.css?v=1576652202" rel="stylesheet" id="theme-stylesheet" type='text/css' media='all'>
<link href="https://h.cowbay.org/css/style.css?v=1576828466" rel="stylesheet" id="theme-stylesheet" type='text/css' media='all'>
<link href="https://h.cowbay.org/css/custom.css?v=1576652202" rel="stylesheet" type='text/css' media='all'>
<link href="https://h.cowbay.org/css/custom.css?v=1576828466" rel="stylesheet" type='text/css' media='all'>
<link rel="shortcut icon" href="https://h.cowbay.org/img/favicon.ico" type="image/x-icon">
<link rel="icon" href="https://h.cowbay.org/img/favicon.ico" type="image/x-icon">
@ -671,7 +671,7 @@ title="pinterest icon"></i>
</div>
<script src="https://h.cowbay.org/js/jquery.min.js"></script>
<script src="https://h.cowbay.org/js/jquerymigrate.js"></script>
<script src="https://h.cowbay.org/js/production.min.js?v=1576652202"></script>
<script src="https://h.cowbay.org/js/production.min.js?v=1576828466"></script>
</body>
</html>

@ -6,11 +6,30 @@
<description>Recent content in Posts on MC部落</description>
<generator>Hugo -- gohugo.io</generator>
<language>en-us</language>
<lastBuildDate>Wed, 18 Dec 2019 14:44:27 +0800</lastBuildDate>
<lastBuildDate>Fri, 20 Dec 2019 14:31:42 +0800</lastBuildDate>
<atom:link href="https://h.cowbay.org/post/index.xml" rel="self" type="application/rss+xml" />
<item>
<title>[筆記] 測試 postgresql 的pg_prewarm 對效能的影響 / test pg_prewarm in postgresql 11</title>
<link>https://h.cowbay.org/post/test-pg_prewarm/</link>
<pubDate>Fri, 20 Dec 2019 14:31:42 +0800</pubDate>
<guid>https://h.cowbay.org/post/test-pg_prewarm/</guid>
<description>&lt;p&gt;老闆提到想要把新系統的 postgresql 資料庫都撈到記憶體裡面&lt;/p&gt;
&lt;p&gt;但是否決了我提出的ramdisk 作法(因為當機的話,資料就沒了)&lt;/p&gt;
&lt;p&gt;在找資料的時候發現了這個postgresql 的 pg_prewarm extension&lt;/p&gt;
&lt;p&gt;好像有點意思?就來測試看看吧!&lt;/p&gt;
&lt;p&gt;只是目前還不知道該怎麼解讀測試的數據就是了&amp;hellip;&lt;/p&gt;
&lt;p&gt;幹!林北真的不是 DBA 啦 =.=&lt;/p&gt;</description>
</item>
<item>
<title>[筆記] 在ansible playbook中不小心多打了一個空格 / Accidentally Typed an Extra Space in Ansible Playbook</title>
<link>https://h.cowbay.org/post/accidentally-typed-an-extra-space-in-ansible-playbook/</link>

@ -45,9 +45,9 @@
<link rel="stylesheet" href="https://use.fontawesome.com/releases/v5.3.1/css/all.css" integrity="sha384-mzrmE5qonljUremFsqc01SB46JvROS7bZs3IO2EmfFsd15uHvIt+Y8vEf7N7fWAU" crossorigin="anonymous">
<link href="https://h.cowbay.org/css/style.css?v=1576652202" rel="stylesheet" id="theme-stylesheet" type='text/css' media='all'>
<link href="https://h.cowbay.org/css/style.css?v=1576828466" rel="stylesheet" id="theme-stylesheet" type='text/css' media='all'>
<link href="https://h.cowbay.org/css/custom.css?v=1576652202" rel="stylesheet" type='text/css' media='all'>
<link href="https://h.cowbay.org/css/custom.css?v=1576828466" rel="stylesheet" type='text/css' media='all'>
<link rel="shortcut icon" href="https://h.cowbay.org/img/favicon.ico" type="image/x-icon">
<link rel="icon" href="https://h.cowbay.org/img/favicon.ico" type="image/x-icon">
@ -710,7 +710,7 @@ title="pinterest icon"></i>
</div>
<script src="https://h.cowbay.org/js/jquery.min.js"></script>
<script src="https://h.cowbay.org/js/jquerymigrate.js"></script>
<script src="https://h.cowbay.org/js/production.min.js?v=1576652202"></script>
<script src="https://h.cowbay.org/js/production.min.js?v=1576828466"></script>
</body>
</html>

@ -45,9 +45,9 @@
<link rel="stylesheet" href="https://use.fontawesome.com/releases/v5.3.1/css/all.css" integrity="sha384-mzrmE5qonljUremFsqc01SB46JvROS7bZs3IO2EmfFsd15uHvIt+Y8vEf7N7fWAU" crossorigin="anonymous">
<link href="https://h.cowbay.org/css/style.css?v=1576652202" rel="stylesheet" id="theme-stylesheet" type='text/css' media='all'>
<link href="https://h.cowbay.org/css/style.css?v=1576828465" rel="stylesheet" id="theme-stylesheet" type='text/css' media='all'>
<link href="https://h.cowbay.org/css/custom.css?v=1576652202" rel="stylesheet" type='text/css' media='all'>
<link href="https://h.cowbay.org/css/custom.css?v=1576828465" rel="stylesheet" type='text/css' media='all'>
<link rel="shortcut icon" href="https://h.cowbay.org/img/favicon.ico" type="image/x-icon">
<link rel="icon" href="https://h.cowbay.org/img/favicon.ico" type="image/x-icon">
@ -848,7 +848,7 @@ title="pinterest icon"></i>
</div>
<script src="https://h.cowbay.org/js/jquery.min.js"></script>
<script src="https://h.cowbay.org/js/jquerymigrate.js"></script>
<script src="https://h.cowbay.org/js/production.min.js?v=1576652202"></script>
<script src="https://h.cowbay.org/js/production.min.js?v=1576828465"></script>
</body>
</html>

@ -45,9 +45,9 @@
<link rel="stylesheet" href="https://use.fontawesome.com/releases/v5.3.1/css/all.css" integrity="sha384-mzrmE5qonljUremFsqc01SB46JvROS7bZs3IO2EmfFsd15uHvIt+Y8vEf7N7fWAU" crossorigin="anonymous">
<link href="https://h.cowbay.org/css/style.css?v=1576652202" rel="stylesheet" id="theme-stylesheet" type='text/css' media='all'>
<link href="https://h.cowbay.org/css/style.css?v=1576828466" rel="stylesheet" id="theme-stylesheet" type='text/css' media='all'>
<link href="https://h.cowbay.org/css/custom.css?v=1576652202" rel="stylesheet" type='text/css' media='all'>
<link href="https://h.cowbay.org/css/custom.css?v=1576828466" rel="stylesheet" type='text/css' media='all'>
<link rel="shortcut icon" href="https://h.cowbay.org/img/favicon.ico" type="image/x-icon">
<link rel="icon" href="https://h.cowbay.org/img/favicon.ico" type="image/x-icon">
@ -1173,7 +1173,7 @@ title="pinterest icon"></i>
</div>
<script src="https://h.cowbay.org/js/jquery.min.js"></script>
<script src="https://h.cowbay.org/js/jquerymigrate.js"></script>
<script src="https://h.cowbay.org/js/production.min.js?v=1576652202"></script>
<script src="https://h.cowbay.org/js/production.min.js?v=1576828466"></script>
</body>
</html>

@ -45,9 +45,9 @@
<link rel="stylesheet" href="https://use.fontawesome.com/releases/v5.3.1/css/all.css" integrity="sha384-mzrmE5qonljUremFsqc01SB46JvROS7bZs3IO2EmfFsd15uHvIt+Y8vEf7N7fWAU" crossorigin="anonymous">
<link href="https://h.cowbay.org/css/style.css?v=1576652202" rel="stylesheet" id="theme-stylesheet" type='text/css' media='all'>
<link href="https://h.cowbay.org/css/style.css?v=1576828466" rel="stylesheet" id="theme-stylesheet" type='text/css' media='all'>
<link href="https://h.cowbay.org/css/custom.css?v=1576652202" rel="stylesheet" type='text/css' media='all'>
<link href="https://h.cowbay.org/css/custom.css?v=1576828466" rel="stylesheet" type='text/css' media='all'>
<link rel="shortcut icon" href="https://h.cowbay.org/img/favicon.ico" type="image/x-icon">
<link rel="icon" href="https://h.cowbay.org/img/favicon.ico" type="image/x-icon">
@ -634,7 +634,7 @@ title="pinterest icon"></i>
</div>
<script src="https://h.cowbay.org/js/jquery.min.js"></script>
<script src="https://h.cowbay.org/js/jquerymigrate.js"></script>
<script src="https://h.cowbay.org/js/production.min.js?v=1576652202"></script>
<script src="https://h.cowbay.org/js/production.min.js?v=1576828466"></script>
</body>
</html>

@ -45,9 +45,9 @@
<link rel="stylesheet" href="https://use.fontawesome.com/releases/v5.3.1/css/all.css" integrity="sha384-mzrmE5qonljUremFsqc01SB46JvROS7bZs3IO2EmfFsd15uHvIt+Y8vEf7N7fWAU" crossorigin="anonymous">
<link href="https://h.cowbay.org/css/style.css?v=1576652202" rel="stylesheet" id="theme-stylesheet" type='text/css' media='all'>
<link href="https://h.cowbay.org/css/style.css?v=1576828466" rel="stylesheet" id="theme-stylesheet" type='text/css' media='all'>
<link href="https://h.cowbay.org/css/custom.css?v=1576652202" rel="stylesheet" type='text/css' media='all'>
<link href="https://h.cowbay.org/css/custom.css?v=1576828466" rel="stylesheet" type='text/css' media='all'>
<link rel="shortcut icon" href="https://h.cowbay.org/img/favicon.ico" type="image/x-icon">
<link rel="icon" href="https://h.cowbay.org/img/favicon.ico" type="image/x-icon">
@ -719,7 +719,7 @@ title="pinterest icon"></i>
</div>
<script src="https://h.cowbay.org/js/jquery.min.js"></script>
<script src="https://h.cowbay.org/js/jquerymigrate.js"></script>
<script src="https://h.cowbay.org/js/production.min.js?v=1576652202"></script>
<script src="https://h.cowbay.org/js/production.min.js?v=1576828466"></script>
</body>
</html>

@ -45,9 +45,9 @@
<link rel="stylesheet" href="https://use.fontawesome.com/releases/v5.3.1/css/all.css" integrity="sha384-mzrmE5qonljUremFsqc01SB46JvROS7bZs3IO2EmfFsd15uHvIt+Y8vEf7N7fWAU" crossorigin="anonymous">
<link href="https://h.cowbay.org/css/style.css?v=1576652202" rel="stylesheet" id="theme-stylesheet" type='text/css' media='all'>
<link href="https://h.cowbay.org/css/style.css?v=1576828466" rel="stylesheet" id="theme-stylesheet" type='text/css' media='all'>
<link href="https://h.cowbay.org/css/custom.css?v=1576652202" rel="stylesheet" type='text/css' media='all'>
<link href="https://h.cowbay.org/css/custom.css?v=1576828466" rel="stylesheet" type='text/css' media='all'>
<link rel="shortcut icon" href="https://h.cowbay.org/img/favicon.ico" type="image/x-icon">
<link rel="icon" href="https://h.cowbay.org/img/favicon.ico" type="image/x-icon">
@ -652,7 +652,7 @@ title="pinterest icon"></i>
</div>
<script src="https://h.cowbay.org/js/jquery.min.js"></script>
<script src="https://h.cowbay.org/js/jquerymigrate.js"></script>
<script src="https://h.cowbay.org/js/production.min.js?v=1576652202"></script>
<script src="https://h.cowbay.org/js/production.min.js?v=1576828466"></script>
</body>
</html>

@ -45,9 +45,9 @@
<link rel="stylesheet" href="https://use.fontawesome.com/releases/v5.3.1/css/all.css" integrity="sha384-mzrmE5qonljUremFsqc01SB46JvROS7bZs3IO2EmfFsd15uHvIt+Y8vEf7N7fWAU" crossorigin="anonymous">
<link href="https://h.cowbay.org/css/style.css?v=1576652202" rel="stylesheet" id="theme-stylesheet" type='text/css' media='all'>
<link href="https://h.cowbay.org/css/style.css?v=1576828466" rel="stylesheet" id="theme-stylesheet" type='text/css' media='all'>
<link href="https://h.cowbay.org/css/custom.css?v=1576652202" rel="stylesheet" type='text/css' media='all'>
<link href="https://h.cowbay.org/css/custom.css?v=1576828466" rel="stylesheet" type='text/css' media='all'>
<link rel="shortcut icon" href="https://h.cowbay.org/img/favicon.ico" type="image/x-icon">
<link rel="icon" href="https://h.cowbay.org/img/favicon.ico" type="image/x-icon">
@ -876,7 +876,7 @@ title="pinterest icon"></i>
</div>
<script src="https://h.cowbay.org/js/jquery.min.js"></script>
<script src="https://h.cowbay.org/js/jquerymigrate.js"></script>
<script src="https://h.cowbay.org/js/production.min.js?v=1576652202"></script>
<script src="https://h.cowbay.org/js/production.min.js?v=1576828466"></script>
</body>
</html>

@ -45,9 +45,9 @@
<link rel="stylesheet" href="https://use.fontawesome.com/releases/v5.3.1/css/all.css" integrity="sha384-mzrmE5qonljUremFsqc01SB46JvROS7bZs3IO2EmfFsd15uHvIt+Y8vEf7N7fWAU" crossorigin="anonymous">
<link href="https://h.cowbay.org/css/style.css?v=1576652202" rel="stylesheet" id="theme-stylesheet" type='text/css' media='all'>
<link href="https://h.cowbay.org/css/style.css?v=1576828466" rel="stylesheet" id="theme-stylesheet" type='text/css' media='all'>
<link href="https://h.cowbay.org/css/custom.css?v=1576652202" rel="stylesheet" type='text/css' media='all'>
<link href="https://h.cowbay.org/css/custom.css?v=1576828466" rel="stylesheet" type='text/css' media='all'>
<link rel="shortcut icon" href="https://h.cowbay.org/img/favicon.ico" type="image/x-icon">
<link rel="icon" href="https://h.cowbay.org/img/favicon.ico" type="image/x-icon">
@ -651,7 +651,7 @@ title="pinterest icon"></i>
</div>
<script src="https://h.cowbay.org/js/jquery.min.js"></script>
<script src="https://h.cowbay.org/js/jquerymigrate.js"></script>
<script src="https://h.cowbay.org/js/production.min.js?v=1576652202"></script>
<script src="https://h.cowbay.org/js/production.min.js?v=1576828466"></script>
</body>
</html>

@ -45,9 +45,9 @@
<link rel="stylesheet" href="https://use.fontawesome.com/releases/v5.3.1/css/all.css" integrity="sha384-mzrmE5qonljUremFsqc01SB46JvROS7bZs3IO2EmfFsd15uHvIt+Y8vEf7N7fWAU" crossorigin="anonymous">
<link href="https://h.cowbay.org/css/style.css?v=1576652202" rel="stylesheet" id="theme-stylesheet" type='text/css' media='all'>
<link href="https://h.cowbay.org/css/style.css?v=1576828465" rel="stylesheet" id="theme-stylesheet" type='text/css' media='all'>
<link href="https://h.cowbay.org/css/custom.css?v=1576652202" rel="stylesheet" type='text/css' media='all'>
<link href="https://h.cowbay.org/css/custom.css?v=1576828465" rel="stylesheet" type='text/css' media='all'>
<link rel="shortcut icon" href="https://h.cowbay.org/img/favicon.ico" type="image/x-icon">
<link rel="icon" href="https://h.cowbay.org/img/favicon.ico" type="image/x-icon">
@ -1570,7 +1570,7 @@ title="pinterest icon"></i>
</div>
<script src="https://h.cowbay.org/js/jquery.min.js"></script>
<script src="https://h.cowbay.org/js/jquerymigrate.js"></script>
<script src="https://h.cowbay.org/js/production.min.js?v=1576652202"></script>
<script src="https://h.cowbay.org/js/production.min.js?v=1576828465"></script>
</body>
</html>

@ -45,9 +45,9 @@
<link rel="stylesheet" href="https://use.fontawesome.com/releases/v5.3.1/css/all.css" integrity="sha384-mzrmE5qonljUremFsqc01SB46JvROS7bZs3IO2EmfFsd15uHvIt+Y8vEf7N7fWAU" crossorigin="anonymous">
<link href="https://h.cowbay.org/css/style.css?v=1576652202" rel="stylesheet" id="theme-stylesheet" type='text/css' media='all'>
<link href="https://h.cowbay.org/css/style.css?v=1576828465" rel="stylesheet" id="theme-stylesheet" type='text/css' media='all'>
<link href="https://h.cowbay.org/css/custom.css?v=1576652202" rel="stylesheet" type='text/css' media='all'>
<link href="https://h.cowbay.org/css/custom.css?v=1576828465" rel="stylesheet" type='text/css' media='all'>
<link rel="shortcut icon" href="https://h.cowbay.org/img/favicon.ico" type="image/x-icon">
<link rel="icon" href="https://h.cowbay.org/img/favicon.ico" type="image/x-icon">
@ -740,7 +740,7 @@ title="pinterest icon"></i>
</div>
<script src="https://h.cowbay.org/js/jquery.min.js"></script>
<script src="https://h.cowbay.org/js/jquerymigrate.js"></script>
<script src="https://h.cowbay.org/js/production.min.js?v=1576652202"></script>
<script src="https://h.cowbay.org/js/production.min.js?v=1576828465"></script>
</body>
</html>

@ -45,9 +45,9 @@
<link rel="stylesheet" href="https://use.fontawesome.com/releases/v5.3.1/css/all.css" integrity="sha384-mzrmE5qonljUremFsqc01SB46JvROS7bZs3IO2EmfFsd15uHvIt+Y8vEf7N7fWAU" crossorigin="anonymous">
<link href="https://h.cowbay.org/css/style.css?v=1576652202" rel="stylesheet" id="theme-stylesheet" type='text/css' media='all'>
<link href="https://h.cowbay.org/css/style.css?v=1576828465" rel="stylesheet" id="theme-stylesheet" type='text/css' media='all'>
<link href="https://h.cowbay.org/css/custom.css?v=1576652202" rel="stylesheet" type='text/css' media='all'>
<link href="https://h.cowbay.org/css/custom.css?v=1576828465" rel="stylesheet" type='text/css' media='all'>
<link rel="shortcut icon" href="https://h.cowbay.org/img/favicon.ico" type="image/x-icon">
<link rel="icon" href="https://h.cowbay.org/img/favicon.ico" type="image/x-icon">
@ -904,7 +904,7 @@ title="pinterest icon"></i>
</div>
<script src="https://h.cowbay.org/js/jquery.min.js"></script>
<script src="https://h.cowbay.org/js/jquerymigrate.js"></script>
<script src="https://h.cowbay.org/js/production.min.js?v=1576652202"></script>
<script src="https://h.cowbay.org/js/production.min.js?v=1576828465"></script>
</body>
</html>

@ -45,9 +45,9 @@
<link rel="stylesheet" href="https://use.fontawesome.com/releases/v5.3.1/css/all.css" integrity="sha384-mzrmE5qonljUremFsqc01SB46JvROS7bZs3IO2EmfFsd15uHvIt+Y8vEf7N7fWAU" crossorigin="anonymous">
<link href="https://h.cowbay.org/css/style.css?v=1576652202" rel="stylesheet" id="theme-stylesheet" type='text/css' media='all'>
<link href="https://h.cowbay.org/css/style.css?v=1576828465" rel="stylesheet" id="theme-stylesheet" type='text/css' media='all'>
<link href="https://h.cowbay.org/css/custom.css?v=1576652202" rel="stylesheet" type='text/css' media='all'>
<link href="https://h.cowbay.org/css/custom.css?v=1576828465" rel="stylesheet" type='text/css' media='all'>
<link rel="shortcut icon" href="https://h.cowbay.org/img/favicon.ico" type="image/x-icon">
<link rel="icon" href="https://h.cowbay.org/img/favicon.ico" type="image/x-icon">
@ -1005,7 +1005,7 @@ title="pinterest icon"></i>
</div>
<script src="https://h.cowbay.org/js/jquery.min.js"></script>
<script src="https://h.cowbay.org/js/jquerymigrate.js"></script>
<script src="https://h.cowbay.org/js/production.min.js?v=1576652202"></script>
<script src="https://h.cowbay.org/js/production.min.js?v=1576828465"></script>
</body>
</html>

@ -45,9 +45,9 @@
<link rel="stylesheet" href="https://use.fontawesome.com/releases/v5.3.1/css/all.css" integrity="sha384-mzrmE5qonljUremFsqc01SB46JvROS7bZs3IO2EmfFsd15uHvIt+Y8vEf7N7fWAU" crossorigin="anonymous">
<link href="https://h.cowbay.org/css/style.css?v=1576652202" rel="stylesheet" id="theme-stylesheet" type='text/css' media='all'>
<link href="https://h.cowbay.org/css/style.css?v=1576828465" rel="stylesheet" id="theme-stylesheet" type='text/css' media='all'>
<link href="https://h.cowbay.org/css/custom.css?v=1576652202" rel="stylesheet" type='text/css' media='all'>
<link href="https://h.cowbay.org/css/custom.css?v=1576828465" rel="stylesheet" type='text/css' media='all'>
<link rel="shortcut icon" href="https://h.cowbay.org/img/favicon.ico" type="image/x-icon">
<link rel="icon" href="https://h.cowbay.org/img/favicon.ico" type="image/x-icon">
@ -683,7 +683,7 @@ title="pinterest icon"></i>
</div>
<script src="https://h.cowbay.org/js/jquery.min.js"></script>
<script src="https://h.cowbay.org/js/jquerymigrate.js"></script>
<script src="https://h.cowbay.org/js/production.min.js?v=1576652202"></script>
<script src="https://h.cowbay.org/js/production.min.js?v=1576828465"></script>
</body>
</html>

@ -45,9 +45,9 @@
<link rel="stylesheet" href="https://use.fontawesome.com/releases/v5.3.1/css/all.css" integrity="sha384-mzrmE5qonljUremFsqc01SB46JvROS7bZs3IO2EmfFsd15uHvIt+Y8vEf7N7fWAU" crossorigin="anonymous">
<link href="https://h.cowbay.org/css/style.css?v=1576652202" rel="stylesheet" id="theme-stylesheet" type='text/css' media='all'>
<link href="https://h.cowbay.org/css/style.css?v=1576828466" rel="stylesheet" id="theme-stylesheet" type='text/css' media='all'>
<link href="https://h.cowbay.org/css/custom.css?v=1576652202" rel="stylesheet" type='text/css' media='all'>
<link href="https://h.cowbay.org/css/custom.css?v=1576828466" rel="stylesheet" type='text/css' media='all'>
<link rel="shortcut icon" href="https://h.cowbay.org/img/favicon.ico" type="image/x-icon">
<link rel="icon" href="https://h.cowbay.org/img/favicon.ico" type="image/x-icon">
@ -713,7 +713,7 @@ title="pinterest icon"></i>
</div>
<script src="https://h.cowbay.org/js/jquery.min.js"></script>
<script src="https://h.cowbay.org/js/jquerymigrate.js"></script>
<script src="https://h.cowbay.org/js/production.min.js?v=1576652202"></script>
<script src="https://h.cowbay.org/js/production.min.js?v=1576828466"></script>
</body>
</html>

@ -45,9 +45,9 @@
<link rel="stylesheet" href="https://use.fontawesome.com/releases/v5.3.1/css/all.css" integrity="sha384-mzrmE5qonljUremFsqc01SB46JvROS7bZs3IO2EmfFsd15uHvIt+Y8vEf7N7fWAU" crossorigin="anonymous">
<link href="https://h.cowbay.org/css/style.css?v=1576652202" rel="stylesheet" id="theme-stylesheet" type='text/css' media='all'>
<link href="https://h.cowbay.org/css/style.css?v=1576828466" rel="stylesheet" id="theme-stylesheet" type='text/css' media='all'>
<link href="https://h.cowbay.org/css/custom.css?v=1576652202" rel="stylesheet" type='text/css' media='all'>
<link href="https://h.cowbay.org/css/custom.css?v=1576828466" rel="stylesheet" type='text/css' media='all'>
<link rel="shortcut icon" href="https://h.cowbay.org/img/favicon.ico" type="image/x-icon">
<link rel="icon" href="https://h.cowbay.org/img/favicon.ico" type="image/x-icon">
@ -680,7 +680,7 @@ title="pinterest icon"></i>
</div>
<script src="https://h.cowbay.org/js/jquery.min.js"></script>
<script src="https://h.cowbay.org/js/jquerymigrate.js"></script>
<script src="https://h.cowbay.org/js/production.min.js?v=1576652202"></script>
<script src="https://h.cowbay.org/js/production.min.js?v=1576828466"></script>
</body>
</html>

@ -45,9 +45,9 @@
<link rel="stylesheet" href="https://use.fontawesome.com/releases/v5.3.1/css/all.css" integrity="sha384-mzrmE5qonljUremFsqc01SB46JvROS7bZs3IO2EmfFsd15uHvIt+Y8vEf7N7fWAU" crossorigin="anonymous">
<link href="https://h.cowbay.org/css/style.css?v=1576652202" rel="stylesheet" id="theme-stylesheet" type='text/css' media='all'>
<link href="https://h.cowbay.org/css/style.css?v=1576828466" rel="stylesheet" id="theme-stylesheet" type='text/css' media='all'>
<link href="https://h.cowbay.org/css/custom.css?v=1576652202" rel="stylesheet" type='text/css' media='all'>
<link href="https://h.cowbay.org/css/custom.css?v=1576828466" rel="stylesheet" type='text/css' media='all'>
<link rel="shortcut icon" href="https://h.cowbay.org/img/favicon.ico" type="image/x-icon">
<link rel="icon" href="https://h.cowbay.org/img/favicon.ico" type="image/x-icon">
@ -809,7 +809,7 @@ title="pinterest icon"></i>
</div>
<script src="https://h.cowbay.org/js/jquery.min.js"></script>
<script src="https://h.cowbay.org/js/jquerymigrate.js"></script>
<script src="https://h.cowbay.org/js/production.min.js?v=1576652202"></script>
<script src="https://h.cowbay.org/js/production.min.js?v=1576828466"></script>
</body>
</html>

@ -45,9 +45,9 @@
<link rel="stylesheet" href="https://use.fontawesome.com/releases/v5.3.1/css/all.css" integrity="sha384-mzrmE5qonljUremFsqc01SB46JvROS7bZs3IO2EmfFsd15uHvIt+Y8vEf7N7fWAU" crossorigin="anonymous">
<link href="https://h.cowbay.org/css/style.css?v=1576652202" rel="stylesheet" id="theme-stylesheet" type='text/css' media='all'>
<link href="https://h.cowbay.org/css/style.css?v=1576828466" rel="stylesheet" id="theme-stylesheet" type='text/css' media='all'>
<link href="https://h.cowbay.org/css/custom.css?v=1576652202" rel="stylesheet" type='text/css' media='all'>
<link href="https://h.cowbay.org/css/custom.css?v=1576828466" rel="stylesheet" type='text/css' media='all'>
<link rel="shortcut icon" href="https://h.cowbay.org/img/favicon.ico" type="image/x-icon">
<link rel="icon" href="https://h.cowbay.org/img/favicon.ico" type="image/x-icon">
@ -613,7 +613,7 @@ title="pinterest icon"></i>
</div>
<script src="https://h.cowbay.org/js/jquery.min.js"></script>
<script src="https://h.cowbay.org/js/jquerymigrate.js"></script>
<script src="https://h.cowbay.org/js/production.min.js?v=1576652202"></script>
<script src="https://h.cowbay.org/js/production.min.js?v=1576828466"></script>
</body>
</html>

@ -45,9 +45,9 @@
<link rel="stylesheet" href="https://use.fontawesome.com/releases/v5.3.1/css/all.css" integrity="sha384-mzrmE5qonljUremFsqc01SB46JvROS7bZs3IO2EmfFsd15uHvIt+Y8vEf7N7fWAU" crossorigin="anonymous">
<link href="https://h.cowbay.org/css/style.css?v=1576652202" rel="stylesheet" id="theme-stylesheet" type='text/css' media='all'>
<link href="https://h.cowbay.org/css/style.css?v=1576828466" rel="stylesheet" id="theme-stylesheet" type='text/css' media='all'>
<link href="https://h.cowbay.org/css/custom.css?v=1576652202" rel="stylesheet" type='text/css' media='all'>
<link href="https://h.cowbay.org/css/custom.css?v=1576828466" rel="stylesheet" type='text/css' media='all'>
<link rel="shortcut icon" href="https://h.cowbay.org/img/favicon.ico" type="image/x-icon">
<link rel="icon" href="https://h.cowbay.org/img/favicon.ico" type="image/x-icon">
@ -663,7 +663,7 @@ title="pinterest icon"></i>
</div>
<script src="https://h.cowbay.org/js/jquery.min.js"></script>
<script src="https://h.cowbay.org/js/jquerymigrate.js"></script>
<script src="https://h.cowbay.org/js/production.min.js?v=1576652202"></script>
<script src="https://h.cowbay.org/js/production.min.js?v=1576828466"></script>
</body>
</html>

@ -0,0 +1,985 @@
<!DOCTYPE html>
<html lang="en-us">
<head><meta charset="utf-8">
<meta http-equiv="X-UA-Compatible" content="IE=edge">
<script type="application/ld+json">
{
"@context" : "http://schema.org",
"@type" : "BlogPosting",
"mainEntityOfPage": {
"@type": "WebPage",
"@id": "https:\/\/h.cowbay.org"
},
"articleSection" : "post",
"name" : "[筆記] 測試 postgresql 的pg_prewarm 對效能的影響 \/ test pg_prewarm in postgresql 11",
"headline" : "[筆記] 測試 postgresql 的pg_prewarm 對效能的影響 \/ test pg_prewarm in postgresql 11",
"description" : "\x3cp\x3e老闆提到想要把新系統的 postgresql 資料庫都撈到記憶體裡面\x3c\/p\x3e\n\n\x3cp\x3e但是否決了我提出的ramdisk 作法(因為當機的話,資料就沒了)\x3c\/p\x3e\n\n\x3cp\x3e在找資料的時候發現了這個postgresql 的 pg_prewarm extension\x3c\/p\x3e\n\n\x3cp\x3e好像有點意思就來測試看看吧\x3c\/p\x3e\n\n\x3cp\x3e只是目前還不知道該怎麼解讀測試的數據就是了\x26hellip;\x3c\/p\x3e\n\n\x3cp\x3e幹林北真的不是 DBA 啦 =.=\x3c\/p\x3e",
"inLanguage" : "en",
"author" : "Eric Chang",
"creator" : "Eric Chang",
"publisher": "Eric Chang",
"accountablePerson" : "Eric Chang",
"copyrightHolder" : "Eric Chang",
"copyrightYear" : "2019",
"datePublished": "2019-12-20 14:31:42 \x2b0800 CST",
"dateModified" : "2019-12-20 14:31:42 \x2b0800 CST",
"url" : "https:\/\/h.cowbay.org\/post\/test-pg_prewarm\/",
"wordCount" : "1314",
"image" : "https://h.cowbay.orghttps://h.cowbay.org/images/post-default-9.jpg"",
"keywords" : [ ""postgresql"","Blog" ]
}
</script>
<title>[筆記] 測試 postgresql 的pg_prewarm 對效能的影響 / test pg_prewarm in postgresql 11 </title>
<meta name="description" content="some articles about job,food,passion sisters" />
<meta name="viewport" content="width=device-width, initial-scale=1">
<meta name="robots" content="all,follow">
<meta name="googlebot" content="index,follow,snippet,archive">
<link rel="stylesheet" id="ct-tracks-google-fonts-css" href="https://fonts.googleapis.com/css?family=Raleway%3A400%2C700&amp;subset=latin%2Clatin-ext&amp;ver=4.7.2" type="text/css" media="all">
<link rel="stylesheet" href="https://use.fontawesome.com/releases/v5.3.1/css/all.css" integrity="sha384-mzrmE5qonljUremFsqc01SB46JvROS7bZs3IO2EmfFsd15uHvIt+Y8vEf7N7fWAU" crossorigin="anonymous">
<link href="https://h.cowbay.org/css/style.css?v=1576828465" rel="stylesheet" id="theme-stylesheet" type='text/css' media='all'>
<link href="https://h.cowbay.org/css/custom.css?v=1576828465" rel="stylesheet" type='text/css' media='all'>
<link rel="shortcut icon" href="https://h.cowbay.org/img/favicon.ico" type="image/x-icon">
<link rel="icon" href="https://h.cowbay.org/img/favicon.ico" type="image/x-icon">
<script type="application/javascript">
var doNotTrack = false;
if (!doNotTrack) {
window.ga=window.ga||function(){(ga.q=ga.q||[]).push(arguments)};ga.l=+new Date;
ga('create', 'UA-138954876-1', 'auto');
ga('send', 'pageview');
}
</script>
<script async src='https://www.google-analytics.com/analytics.js'></script>
</head>
<body class="post-template-default single single-post single-format-standard ct-body singular singular-post not-front standard">
<div id="overflow-container" class="overflow-container">
<a class="skip-content" href="#main">Skip to content</a>
<header id="site-header" class="site-header" role="banner">
<div class='top-navigation'>
<div class='container'>
<div id="menu-secondary" class="menu-container menu-secondary" role="navigation">
<button id="toggle-secondary-navigation" class="toggle-secondary-navigation"><i class="fas fa-plus"></i></button>
<div class="menu">
<ul id="menu-secondary-items" class="menu-secondary-items">
<li class="menu-item menu-item-type-taxonomy menu-item-object-category">
<a href="/categories/"></a>
</li>
<li class="menu-item menu-item-type-taxonomy menu-item-object-category">
<a href="/categories/ansible">ansible</a>
</li>
<li class="menu-item menu-item-type-taxonomy menu-item-object-category">
<a href="/categories/linux">linux</a>
</li>
<li class="menu-item menu-item-type-taxonomy menu-item-object-category">
<a href="/categories/proxmox">proxmox</a>
</li>
<li class="menu-item menu-item-type-taxonomy menu-item-object-category">
<a href="/categories/ps">ps</a>
</li>
<li class="menu-item menu-item-type-taxonomy menu-item-object-category">
<a href="/categories/%E7%A2%8E%E5%BF%B5">碎念</a>
</li>
<li class="menu-item menu-item-type-taxonomy menu-item-object-category">
<a href="/categories/%E7%AD%86%E8%A8%98">筆記</a>
</li>
<li class="menu-item menu-item-type-taxonomy menu-item-object-category">
<a href="/categories/%E7%BE%A4%E6%9A%89">群暉</a>
</li>
</ul>
</div>
</div>
<ul class="social-media-icons">
<li>
<a href="full%20Social%20profile%20url%20in%20facebook" data-animate-hover="pulse" class="facebook" target="_blank">
<i class="fab fa-facebook-square" title="facebook"></i>
<span class="screen-reader-text">facebook</span>
</a>
</li>
<li>
<a href="full%20profile%20url%20in%20googleplus" data-animate-hover="pulse" class="gplus" target="_blank">
<i class="fab fa-google-plus-g" title="googleplus"></i>
<span class="screen-reader-text">googleplus</span>
</a>
</li>
<li>
<a href="chang0206" data-animate-hover="pulse" class="twitter" target="_blank">
<i class="fab fa-twitter-square" title="twitter"></i>
<span class="screen-reader-text">twitter</span>
</a>
</li>
<li>
<a href="chang0206" data-animate-hover="pulse" class="instagram" target="_blank">
<i class="fab fa-instagram" title="instagram"></i>
<span class="screen-reader-text">instagram</span>
</a>
</li>
<li>
<a href="mailto:mc@hotshraingmy.info" data-animate-hover="pulse" class="email">
<i class="fas fa-envelope" title="email"></i>
<span class="screen-reader-text">email</span>
</a>
</li>
<li>
<a href="full%20profile%20url%20in%20linkedin" data-animate-hover="pulse" class="linkedin" target="_blank">
<i class="fab fa-linkedin-in" title="linkedin"></i>
<span class="screen-reader-text">linkedin</span>
</a>
</li>
<li>
<a href="full%20profile%20url%20in%20stackoverflow" data-animate-hover="pulse" class="stackoverflow" target="_blank">
<i class="fab fa-stack-overflow" title="stackoverflow"></i>
<span class="screen-reader-text">stackoverflow</span>
</a>
</li>
<li>
<a href="changchichung" data-animate-hover="pulse" class="github" target="_blank">
<i class="fab fa-github" title="github"></i>
<span class="screen-reader-text">github</span>
</a>
</li>
<li>
<a href="full%20profile%20url%20in%20pinterest" data-animate-hover="pulse" class="pinterest" target="_blank">
<i class="fab fa-pinterest" title="pinterest"></i>
<span class="screen-reader-text">pinterest</span>
</a>
</li>
<li>
<a href="https://h.cowbay.org/index.xml" data-animate-hover="pulse" class="rss" target="_blank">
<i class="fas fa-rss" title="rss"></i>
<span class="screen-reader-text">rss</span>
</a>
</li>
</ul></div>
</div>
<div class="container">
<div id="title-info" class="title-info">
<div id='site-title' class='site-title'>
<a href="/"> MC部落 </a>
</div>
</div>
<button id="toggle-navigation" class="toggle-navigation">
<i class="fas fa-bars"></i>
</button>
<div id="menu-primary-tracks" class="menu-primary-tracks"></div>
<div id="menu-primary" class="menu-container menu-primary" role="navigation">
<p class="site-description">Whats the Worst That Could Happen?</p>
<div class="menu">
<ul id="menu-primary-items" class="menu-primary-items">
<li class='menu-item menu-item-type-custom menu-item-object-custom '>
<a href="https://h.cowbay.org/">Home</a>
</li>
<li class='menu-item menu-item-type-post_type menu-item-object-page '>
<a href="https://h.cowbay.org/about/">About</a>
</li>
<li class='menu-item menu-item-type-post_type menu-item-object-page '>
<a href="https://h.cowbay.org/contact/">Get in touch</a>
</li>
</ul>
</div>
</div>
</div>
</header>
<div id="main" class="main" role="main">
<div id="loop-container" class="loop-container">
<div class="post type-post status-publish format-standard has-post-thumbnail hentry category-design tag-design tag-standard-2 tag-tagalicious tag-travel entry full-without-featured odd excerpt-1">
<div class='featured-image lazy lazy-bg-image' data-background="https://h.cowbay.org/images/post-default-9.jpg">
</div>
<div class="entry-meta">
<span class="date">20 December</span> <span> / </span>
<span class="author">
<a href="https://github.com/changchichung" title="Posts by Eric Chang" rel="author">Eric Chang</a>
</span>
<span class="category">
<span> / </span>
<a href="/categories/%E7%AD%86%E8%A8%98">筆記</a>
</span>
</div>
<div class='entry-header'>
<h1 class='entry-title'> [筆記] 測試 postgresql 的pg_prewarm 對效能的影響 / test pg_prewarm in postgresql 11</h1>
</div>
<div class="entry-container">
<div class="entry-content">
<article>
<p>老闆提到想要把新系統的 postgresql 資料庫都撈到記憶體裡面</p>
<p>但是否決了我提出的ramdisk 作法(因為當機的話,資料就沒了)</p>
<p>在找資料的時候發現了這個postgresql 的 pg_prewarm extension</p>
<p>好像有點意思?就來測試看看吧!</p>
<p>只是目前還不知道該怎麼解讀測試的數據就是了&hellip;</p>
<p>幹!林北真的不是 DBA 啦 =.=</p>
<p>安裝系統、postgresql 資料庫什麼的就不提了,那不是這次的重點</p>
<h4 id="修改-postgresql-conf">修改 postgresql.conf</h4>
<p>編輯postgresql.conf開啟平行處理以及設定可用記憶體容量</p>
<p>這台測試機的環境是一台三代i7 , 24G RAM , 240G SSD安裝debian 10(buster)</p>
<pre><code># load libiriaes
# 其實這次不會用到pg_stat_statements ,不過出於習慣,還是加入開機自動載入吧
shared_preload_libraries = 'pg_stat_statements'
#------------------------------------------------------------------------------
# CUSTOMIZED OPTIONS
#------------------------------------------------------------------------------
max_connections = 20
shared_buffers = 6GB
effective_cache_size = 18GB
maintenance_work_mem = 1536MB
checkpoint_completion_target = 0.7
wal_buffers = 16MB
default_statistics_target = 100
random_page_cost = 1.1
effective_io_concurrency = 200
work_mem = 78643kB
min_wal_size = 1GB
max_wal_size = 2GB
max_worker_processes = 8
max_parallel_workers_per_gather = 4
max_parallel_workers = 8
</code></pre>
<p>重新啟動postgresql ,準備開始測試囉!</p>
<p>轉換成 postgres 身份後,進入 psql</p>
<h4 id="建立測試資料庫">建立測試資料庫</h4>
<pre><code>postgres=# create database test;
CREATE DATABASE
postgres=#
</code></pre>
<h4 id="連接測試資料庫-建立pg-prewarm-extension">連接測試資料庫、建立pg_prewarm extension</h4>
<pre><code>postgres=# \c test ;
You are now connected to database &quot;test&quot; as user &quot;postgres&quot;.
test=# CREATE EXTENSION pg_prewarm;
CREATE EXTENSION
test=#
</code></pre>
<h4 id="建立測試資料表-塞入500萬筆資料">建立測試資料表塞入500萬筆資料</h4>
<pre><code>test=# \timing
Timing is on.
test=# CREATE TABLE test_tbl AS
SELECT floor(random() * (9923123) + 1)::int FROM generate_series(1, 5000000) AS id;
SELECT 5000000
Time: 2940.602 ms (00:02.941)
test=#
</code></pre>
<h4 id="檢查看看剛剛建立的table-用了多少空間">檢查看看剛剛建立的table 用了多少空間</h4>
<p>哎呀,看起來用得不多啊</p>
<pre><code>test=# SELECT pg_size_pretty(pg_relation_size('test_tbl'));
173 MB
</code></pre>
<p><strong>玩大一點,塞個一億筆資料好了</strong></p>
<pre><code>test=# drop table test_tbl;
Time: 0.361 ms
test=# CREATE TABLE test_tbl AS
SELECT floor(random() * (99343) + 1)::int FROM generate_series(1, 100000000) AS id;
SELECT 100000000
Time: 6321.415 ms (00:06.321)
test=# SELECT pg_size_pretty(pg_relation_size('test_tbl'));
pg_size_pretty | 3457 MB
Time: 0.589 ms
test=#
</code></pre>
<p>現在資料庫長到3457MB了</p>
<p>先來執行一些初步的取得基本數據</p>
<pre><code>test=# explain (analyze,buffers) select count(*) from test_tbl;
QUERY PLAN
------------------------------------------------------------------------------------------------------------------------
Finalize Aggregate (cost=755978.52..755978.53 rows=1 width=8) (actual time=3331.917..3331.918 rows=1 loops=1)
Buffers: shared hit=160 read=442318
-&gt; Gather (cost=755978.10..755978.51 rows=4 width=8) (actual time=3331.876..3333.674 rows=5 loops=1)
Workers Planned: 4
Workers Launched: 4
Buffers: shared hit=160 read=442318
-&gt; Partial Aggregate (cost=754978.10..754978.11 rows=1 width=8) (actual time=3329.279..3329.280 rows=1 loops=5)
Buffers: shared hit=160 read=442318
-&gt; Parallel Seq Scan on test_tbl (cost=0.00..692478.08 rows=25000008 width=0) (actual time=0.029..1924.601 rows=20000000 loops=5)
Buffers: shared hit=160 read=442318
Planning Time: 0.040 ms
Execution Time: 3333.729 ms
(12 rows)
(END)
</code></pre>
<p>可以看到打中buffer 的部份其實很少,只有 160 大部分都是讀進去buffer (442318)</p>
<p>來看看 buffer 的使用狀況</p>
<pre><code>test=# CREATE EXTENSION pg_buffercache;
CREATE EXTENSION
test=# select c.relname,pg_size_pretty(count(*) * 8192) as buffered,
test-# round(100.0 * count(*) / (
test(# select setting from pg_settings
test(# where name='shared_buffers')::integer,1)
test-# as buffer_percent,
test-# round(100.0*count(*)*8192 / pg_table_size(c.oid),1) as percent_of_relation
test-# from pg_class c inner join pg_buffercache b on b.relfilenode = c.relfilenode inner
test-# join pg_database d on ( b.reldatabase =d.oid and d.datname =current_database())
test-# group by c.oid,c.relname order by 3 desc limit 10;
relname | buffered | buffer_percent | percent_of_relation
--------------+------------+----------------+---------------------
test_tbl | 18 MB | 0.3 | 0.5
pg_am | 8192 bytes | 0.0 | 20.0
pg_index | 24 kB | 0.0 | 37.5
pg_amproc | 32 kB | 0.0 | 50.0
pg_cast | 16 kB | 0.0 | 33.3
pg_depend | 64 kB | 0.0 | 13.3
pg_amop | 48 kB | 0.0 | 54.5
pg_namespace | 8192 bytes | 0.0 | 20.0
pg_opclass | 16 kB | 0.0 | 28.6
pg_aggregate | 8192 bytes | 0.0 | 16.7
(10 rows)
Time: 148.719 ms
test=#
</code></pre>
<p>可以看到這個 test_tbl 只有0.5% 被撈到shared_buffers 裡面</p>
<p>接下來就把這個table全部推到shared_buffers 裡面去</p>
<pre><code>test=# select pg_prewarm('test_tbl','buffer');
pg_prewarm
------------
442478
(1 row)
Time: 1938.043 ms (00:01.938)
test=#
</code></pre>
<p>然後再來看一次shared_buffers的使用狀況</p>
<pre><code>test=# select c.relname,pg_size_pretty(count(*) * 8192) as buffered,
round(100.0 * count(*) / (
select setting from pg_settings
where name='shared_buffers')::integer,1)
as buffer_percent,
round(100.0*count(*)*8192 / pg_table_size(c.oid),1) as percent_of_relation
from pg_class c inner join pg_buffercache b on b.relfilenode = c.relfilenode inner
join pg_database d on ( b.reldatabase =d.oid and d.datname =current_database())
group by c.oid,c.relname order by 3 desc limit 10;
relname | buffered | buffer_percent | percent_of_relation
--------------+------------+----------------+---------------------
test_tbl | 3457 MB | 56.3 | 100.0
pg_am | 8192 bytes | 0.0 | 20.0
pg_index | 24 kB | 0.0 | 37.5
pg_amproc | 32 kB | 0.0 | 50.0
pg_cast | 16 kB | 0.0 | 33.3
pg_depend | 64 kB | 0.0 | 13.3
pg_amop | 48 kB | 0.0 | 54.5
pg_namespace | 8192 bytes | 0.0 | 20.0
pg_opclass | 16 kB | 0.0 | 28.6
pg_aggregate | 8192 bytes | 0.0 | 16.7
(10 rows)
Time: 2778.354 ms (00:02.778)
test=#
</code></pre>
<p>OK ,可以看到 test_tbl 已經通通被載入 shared_buffers 中</p>
<p><strong>buffered 表示表格被載入shared_buffers的大小</strong></p>
<p><strong>buffer_percent 表示這個表格佔用多少shared_buffers 的比例</strong></p>
<p><strong>percent_of_relation 表示這個表格有多少比例被載入 shared_buffers</strong></p>
<p>再來跑一次explain看看狀況</p>
<pre><code>test=# explain (analyze,buffers) select count(*) from test_tbl;
Time: 3551.785 ms (00:03.552)
Finalize Aggregate (cost=755978.52..755978.53 rows=1 width=8) (actual time=3427.286..3427.287 rows=1 loops=1)
Buffers: shared hit=442478
-&gt; Gather (cost=755978.10..755978.51 rows=4 width=8) (actual time=3427.215..3551.326 rows=5 loops=1)
Workers Planned: 4
Workers Launched: 4
Buffers: shared hit=442478
-&gt; Partial Aggregate (cost=754978.10..754978.11 rows=1 width=8) (actual time=3423.659..3423.659 rows=1 loops=5)
Buffers: shared hit=442478
-&gt; Parallel Seq Scan on test_tbl (cost=0.00..692478.08 rows=25000008 width=0) (actual time=0.017..1976.744 rows=20000000 loops=5)
Buffers: shared hit=442478
Planning Time: 0.039 ms
Execution Time: 3551.365 ms
(12 rows)
</code></pre>
<p>這邊就可以看到都是從buffer 讀出來所以 hit=442478</p>
<p>看樣子表格還是太小,所以沒有完全發揮?那再來把表格加大!</p>
<p>先重開一次 postgresql 清除buffer</p>
<p>然後重新建立表格</p>
<pre><code>test=# drop table test_tbl;
DROP TABLE
Time: 297.493 ms
test=# CREATE TABLE test_tbl AS
test-# SELECT floor(random() * (993343) + 1)::int FROM generate_series(1, 300000000) AS id;
SELECT 300000000
Time: 290660.607 ms (04:50.661)
test=#
</code></pre>
<p>一樣,看看用了多少容量</p>
<pre><code>test=# SELECT pg_size_pretty(pg_relation_size('test_tbl'));
pg_size_pretty
----------------
10 GB
(1 row)
Time: 0.474 ms
test=#
</code></pre>
<p>哇哈哈用了10G ,這次還不撐爆你!</p>
<p>跑explain 看看狀況</p>
<pre><code>test=# explain (analyze,buffers) select count(*) from test_tbl;
Time: 22909.065 ms (00:22.909)
QUERY PLAN
---------------------------------------------------------------------------------------------------------------------------
Finalize Aggregate (cost=2265934.72..2265934.73 rows=1 width=8) (actual time=22906.045..22906.045 rows=1 loops=1)
Buffers: shared hit=2080 read=1325354 dirtied=1295425 written=1295265
-&gt; Gather (cost=2265934.30..2265934.71 rows=4 width=8) (actual time=22905.997..22908.522 rows=5 loops=1)
Workers Planned: 4
Workers Launched: 4
Buffers: shared hit=2080 read=1325354 dirtied=1295425 written=1295265
-&gt; Partial Aggregate (cost=2264934.30..2264934.31 rows=1 width=8) (actual time=22903.473..22903.474 rows=1 loops=5)
Buffers: shared hit=2080 read=1325354 dirtied=1295425 written=1295265
-&gt; Parallel Seq Scan on test_tbl (cost=0.00..2077434.24 rows=75000024 width=0) (actual time=0.040..18374.277 rows=60000000 loops=5)
Buffers: shared hit=2080 read=1325354 dirtied=1295425 written=1295265
Planning Time: 0.094 ms
Execution Time: 22908.571 ms
(12 rows)
</code></pre>
<p>看一下現在 shared_buffers 使用狀況</p>
<p>可以看到這個 test_tbl 幾乎沒被放入 shared_buffers 中</p>
<pre><code>test=# select c.relname,pg_size_pretty(count(*) * 8192) as buffered,
round(100.0 * count(*) / (
select setting from pg_settings
where name='shared_buffers')::integer,1)
as buffer_percent,
round(100.0*count(*)*8192 / pg_table_size(c.oid),1) as percent_of_relation
from pg_class c inner join pg_buffercache b on b.relfilenode = c.relfilenode inner
join pg_database d on ( b.reldatabase =d.oid and d.datname =current_database())
group by c.oid,c.relname order by 3 desc limit 10;
relname | buffered | buffer_percent | percent_of_relation
--------------+------------+----------------+---------------------
test_tbl | 18 MB | 0.3 | 0.2
pg_am | 8192 bytes | 0.0 | 20.0
pg_index | 24 kB | 0.0 | 37.5
pg_amproc | 32 kB | 0.0 | 50.0
pg_cast | 16 kB | 0.0 | 33.3
pg_depend | 64 kB | 0.0 | 13.3
pg_amop | 48 kB | 0.0 | 54.5
pg_namespace | 8192 bytes | 0.0 | 20.0
pg_opclass | 16 kB | 0.0 | 28.6
pg_aggregate | 8192 bytes | 0.0 | 16.7
(10 rows)
Time: 163.936 ms
test=#
</code></pre>
<p>強制把test_tbl 全部塞進 shared_buffers</p>
<pre><code>test=# select pg_prewarm('test_tbl','buffer');
pg_prewarm
------------
1327434
(1 row)
Time: 7472.805 ms (00:07.473)
test=#
</code></pre>
<p>確認一下test_tbl 有沒有被整個塞進去</p>
<pre><code>test=# select c.relname,pg_size_pretty(count(*) * 8192) as buffered,
round(100.0 * count(*) / (
select setting from pg_settings
where name='shared_buffers')::integer,1)
as buffer_percent,
round(100.0*count(*)*8192 / pg_table_size(c.oid),1) as percent_of_relation
from pg_class c inner join pg_buffercache b on b.relfilenode = c.relfilenode inner
join pg_database d on ( b.reldatabase =d.oid and d.datname =current_database())
group by c.oid,c.relname order by 3 desc limit 10;
relname | buffered | buffer_percent | percent_of_relation
--------------+------------+----------------+---------------------
test_tbl | 6142 MB | 100.0 | 59.2
pg_am | 8192 bytes | 0.0 | 20.0
pg_index | 24 kB | 0.0 | 37.5
pg_amproc | 32 kB | 0.0 | 50.0
pg_cast | 16 kB | 0.0 | 33.3
pg_depend | 24 kB | 0.0 | 5.0
pg_amop | 40 kB | 0.0 | 45.5
pg_namespace | 8192 bytes | 0.0 | 20.0
pg_opclass | 16 kB | 0.0 | 28.6
pg_aggregate | 8192 bytes | 0.0 | 16.7
(10 rows)
Time: 4985.366 ms (00:04.985)
test=#
</code></pre>
<p>GOOD let&rsquo;s do explain again !</p>
<pre><code>test=# explain (analyze,buffers) select count(*) from test_tbl;
Time: 11451.188 ms (00:11.451)
QUERY PLAN
--------------------------------------------------------------------------------------------------------------------
Finalize Aggregate (cost=2265934.72..2265934.73 rows=1 width=8) (actual time=11231.664..11231.664 rows=1 loops=1)
Buffers: shared hit=785963 read=541471
-&gt; Gather (cost=2265934.30..2265934.71 rows=4 width=8) (actual time=11231.606..11450.719 rows=5 loops=1)
Workers Planned: 4
Workers Launched: 4
Buffers: shared hit=785963 read=541471
-&gt; Partial Aggregate (cost=2264934.30..2264934.31 rows=1 width=8) (actual time=11228.829..11228.830 rows=1 loops=5)
Buffers: shared hit=785963 read=541471
-&gt; Parallel Seq Scan on test_tbl (cost=0.00..2077434.24 rows=75000024 width=0) (actual time=0.037..6414.711 rows=60000000 loops=5)
Buffers: shared hit=785963 read=541471
Planning Time: 0.039 ms
Execution Time: 11450.781 ms
(12 rows)
</code></pre>
<p>確認一下果然大部分都打到cache 了但是因為shared_buffers 不夠大,所以還會從磁碟讀取一部分</p>
<p>而且時間也比之前還沒塞進shared_buffers 的時候要快了不少</p>
<p>22908.571 &ndash;&gt; 11450.781 ms</p>
<hr />
<p>從這次的測試看來我想如果有足夠大的記憶體能夠把資料表都塞入shared_buffers 中</p>
<p>應該可以帶來不錯的效能增幅!</p>
</article>
</div>
<div class='entry-meta-bottom'>
<div class="entry-categories"><p><span>Categories</span>
<a href="/categories/%E7%AD%86%E8%A8%98" title="View all posts in 筆記">筆記</a>
</p>
</div>
<div class="entry-tags"><p><span>Tags</span>
<a href="/tags/postgresql" title="View all posts tagged postgresql">postgresql</a>
</p></div> </div>
<div class="author-meta">
<div class="author">
<img alt='Eric Chang' src="https://www.gravatar.com/avatar/23f8ed94e007297499ac8df1641b3ff5?s=100&d=identicon" class='avatar avatar-72 photo' height='72' width='72'>
<span>
Written by:<a href="https://github.com/changchichung" title="Posts by Eric Chang" rel="author">Eric Chang</a> </span>
</div>
<div class="bio">
<p>塵世裡一個迷途小書僮</p>
<a class="facebook" target="_blank"
href="full%20Social%20profile%20url%20in%20facebook">
<i class="fab fa-facebook-f"
title="facebook icon"></i>
</a>
<a class="googleplus" target="_blank"
href="full%20profile%20url%20in%20googleplus">
<i class="fab fa-google-plus-g"
title="googleplus icon"></i>
</a>
<a class="twitter" target="_blank"
href="chang0206">
<i class="fab fa-twitter-square"
title="twitter icon"></i>
</a>
<a class="linkedin" target="_blank"
href="full%20profile%20url%20in%20linkedin">
<i class="fab fa-linkedin"
title="linkedin icon"></i>
</a>
<a class="email" target="_blank"
href="mailto:mc@hotshraingmy.info">
<i class="fas fa-envelope"
title="email icon"></i>
</a>
<a class="instagram" target="_blank"
href="chang0206">
<i class="fab fa-instagram"
title="instagram icon"></i>
</a>
<a class="stackoverflow" target="_blank"
href="full%20profile%20url%20in%20stackoverflow">
<i class="fab fa-stack-overflow"
title="stackoverflow icon"></i>
</a>
<a class="github" target="_blank"
href="changchichung">
<i class="fab fa-github"
title="github icon"></i>
</a>
<a class="pinterest" target="_blank"
href="full%20profile%20url%20in%20pinterest">
<i class="fab fa-pinterest"
title="pinterest icon"></i>
</a>
</div>
</div>
</div>
</div>
<section id="comments" class="comments">
<div id="disqus_thread"></div>
<script type="application/javascript">
var disqus_config = function () {
};
(function() {
if (["localhost", "127.0.0.1"].indexOf(window.location.hostname) != -1) {
document.getElementById('disqus_thread').innerHTML = 'Disqus comments not available by default when the website is previewed locally.';
return;
}
var d = document, s = d.createElement('script'); s.async = true;
s.src = '//' + "h-cowbay-org-1" + '.disqus.com/embed.js';
s.setAttribute('data-timestamp', +new Date());
(d.head || d.body).appendChild(s);
})();
</script>
<noscript>Please enable JavaScript to view the <a href="https://disqus.com/?ref_noscript">comments powered by Disqus.</a></noscript>
<a href="https://disqus.com" class="dsq-brlink">comments powered by <span class="logo-disqus">Disqus</span></a>
</section>
</div>
</div>
<footer id="site-footer" class="site-footer" role="contentinfo">
<h1>
<a href=""> MC部落 </a>
</h1>
<p class="site-description">Whats the Worst That Could Happen?</p>
<div id="menu-footer" class="menu-container menu-footer" role="navigation">
<div class="menu">
<ul id="menu-footer-items" class="menu-footer-items">
</ul>
</div> </div>
<ul class="social-media-icons">
<li>
<a class="facebook" target="_blank"
href="full%20Social%20profile%20url%20in%20facebook" >
<i class="fab fa-facebook-f" title="facebook"></i>
<span class="screen-reader-text">facebook</span>
</a>
</li>
<li>
<a class="googleplus" target="_blank"
href="full%20profile%20url%20in%20googleplus" >
<i class="fab fa-google-plus-g" title="googleplus"></i>
<span class="screen-reader-text">googleplus</span>
</a>
</li>
<li>
<a href="chang0206" class="twitter" target="_blank">
<i class="fab fa-twitter-square" title="twitter"></i>
<span class="screen-reader-text">twitter</span>
</a>
</li>
<li>
<a href="chang0206" class="instagram" target="_blank">
<i class="fab fa-instagram" title="instagram"></i>
<span class="screen-reader-text">instagram</span>
</a>
</li>
<li>
<a href="mailto:mc@hotshraingmy.info" class="email">
<i class="fas fa-envelope" title="email"></i>
<span class="screen-reader-text">email</span>
</a>
</li>
<li>
<a href="full%20profile%20url%20in%20linkedin" class="linkedin" target="_blank">
<i class="fab fa-linkedin-in" title="linkedin"></i>
<span class="screen-reader-text">linkedin</span>
</a>
</li>
<li>
<a href="full%20profile%20url%20in%20stackoverflow" class="stackoverflow" target="_blank">
<i class="fab fa-stack-overflow" title="stackoverflow"></i>
<span class="screen-reader-text">stackoverflow</span>
</a>
</li>
<li>
<a href="changchichung" class="github" target="_blank">
<i class="fab fa-github" title="github"></i>
<span class="screen-reader-text">github</span>
</a>
</li>
<li>
<a href="full%20profile%20url%20in%20pinterest" class="pinterest" target="_blank">
<i class="fab fa-pinterest" title="pinterest"></i>
<span class="screen-reader-text">pinterest</span>
</a>
</li>
<li>
<a href="https://h.cowbay.org/index.xml" data-animate-hover="pulse" class="rss" target="_blank">
<i class="fas fa-rss" title="rss"></i>
<span class="screen-reader-text">rss</span>
</a>
</li>
</ul> <div class="design-credit">
<p>&copy; 2018 Göran Svensson</p>
<p>Nederburg Hugo Theme by <a href="https://appernetic.io">Appernetic</a>.</p>
<p>A port of Tracks by Compete Themes.</p>
</div>
</footer>
</div>
<script src="https://h.cowbay.org/js/jquery.min.js"></script>
<script src="https://h.cowbay.org/js/jquerymigrate.js"></script>
<script src="https://h.cowbay.org/js/production.min.js?v=1576828465"></script>
</body>
</html>

@ -45,9 +45,9 @@
<link rel="stylesheet" href="https://use.fontawesome.com/releases/v5.3.1/css/all.css" integrity="sha384-mzrmE5qonljUremFsqc01SB46JvROS7bZs3IO2EmfFsd15uHvIt+Y8vEf7N7fWAU" crossorigin="anonymous">
<link href="https://h.cowbay.org/css/style.css?v=1576652202" rel="stylesheet" id="theme-stylesheet" type='text/css' media='all'>
<link href="https://h.cowbay.org/css/style.css?v=1576828466" rel="stylesheet" id="theme-stylesheet" type='text/css' media='all'>
<link href="https://h.cowbay.org/css/custom.css?v=1576652202" rel="stylesheet" type='text/css' media='all'>
<link href="https://h.cowbay.org/css/custom.css?v=1576828466" rel="stylesheet" type='text/css' media='all'>
<link rel="shortcut icon" href="https://h.cowbay.org/img/favicon.ico" type="image/x-icon">
<link rel="icon" href="https://h.cowbay.org/img/favicon.ico" type="image/x-icon">
@ -974,7 +974,7 @@ title="pinterest icon"></i>
</div>
<script src="https://h.cowbay.org/js/jquery.min.js"></script>
<script src="https://h.cowbay.org/js/jquerymigrate.js"></script>
<script src="https://h.cowbay.org/js/production.min.js?v=1576652202"></script>
<script src="https://h.cowbay.org/js/production.min.js?v=1576828466"></script>
</body>
</html>

@ -45,9 +45,9 @@
<link rel="stylesheet" href="https://use.fontawesome.com/releases/v5.3.1/css/all.css" integrity="sha384-mzrmE5qonljUremFsqc01SB46JvROS7bZs3IO2EmfFsd15uHvIt+Y8vEf7N7fWAU" crossorigin="anonymous">
<link href="https://h.cowbay.org/css/style.css?v=1576652202" rel="stylesheet" id="theme-stylesheet" type='text/css' media='all'>
<link href="https://h.cowbay.org/css/style.css?v=1576828466" rel="stylesheet" id="theme-stylesheet" type='text/css' media='all'>
<link href="https://h.cowbay.org/css/custom.css?v=1576652202" rel="stylesheet" type='text/css' media='all'>
<link href="https://h.cowbay.org/css/custom.css?v=1576828466" rel="stylesheet" type='text/css' media='all'>
<link rel="shortcut icon" href="https://h.cowbay.org/img/favicon.ico" type="image/x-icon">
<link rel="icon" href="https://h.cowbay.org/img/favicon.ico" type="image/x-icon">
@ -662,7 +662,7 @@ title="pinterest icon"></i>
</div>
<script src="https://h.cowbay.org/js/jquery.min.js"></script>
<script src="https://h.cowbay.org/js/jquerymigrate.js"></script>
<script src="https://h.cowbay.org/js/production.min.js?v=1576652202"></script>
<script src="https://h.cowbay.org/js/production.min.js?v=1576828466"></script>
</body>
</html>

@ -45,9 +45,9 @@
<link rel="stylesheet" href="https://use.fontawesome.com/releases/v5.3.1/css/all.css" integrity="sha384-mzrmE5qonljUremFsqc01SB46JvROS7bZs3IO2EmfFsd15uHvIt+Y8vEf7N7fWAU" crossorigin="anonymous">
<link href="https://h.cowbay.org/css/style.css?v=1576652202" rel="stylesheet" id="theme-stylesheet" type='text/css' media='all'>
<link href="https://h.cowbay.org/css/style.css?v=1576828466" rel="stylesheet" id="theme-stylesheet" type='text/css' media='all'>
<link href="https://h.cowbay.org/css/custom.css?v=1576652202" rel="stylesheet" type='text/css' media='all'>
<link href="https://h.cowbay.org/css/custom.css?v=1576828466" rel="stylesheet" type='text/css' media='all'>
<link rel="shortcut icon" href="https://h.cowbay.org/img/favicon.ico" type="image/x-icon">
<link rel="icon" href="https://h.cowbay.org/img/favicon.ico" type="image/x-icon">
@ -725,7 +725,7 @@ title="pinterest icon"></i>
</div>
<script src="https://h.cowbay.org/js/jquery.min.js"></script>
<script src="https://h.cowbay.org/js/jquerymigrate.js"></script>
<script src="https://h.cowbay.org/js/production.min.js?v=1576652202"></script>
<script src="https://h.cowbay.org/js/production.min.js?v=1576828466"></script>
</body>
</html>

@ -45,9 +45,9 @@
<link rel="stylesheet" href="https://use.fontawesome.com/releases/v5.3.1/css/all.css" integrity="sha384-mzrmE5qonljUremFsqc01SB46JvROS7bZs3IO2EmfFsd15uHvIt+Y8vEf7N7fWAU" crossorigin="anonymous">
<link href="https://h.cowbay.org/css/style.css?v=1576652202" rel="stylesheet" id="theme-stylesheet" type='text/css' media='all'>
<link href="https://h.cowbay.org/css/style.css?v=1576828465" rel="stylesheet" id="theme-stylesheet" type='text/css' media='all'>
<link href="https://h.cowbay.org/css/custom.css?v=1576652202" rel="stylesheet" type='text/css' media='all'>
<link href="https://h.cowbay.org/css/custom.css?v=1576828465" rel="stylesheet" type='text/css' media='all'>
<link rel="shortcut icon" href="https://h.cowbay.org/img/favicon.ico" type="image/x-icon">
<link rel="icon" href="https://h.cowbay.org/img/favicon.ico" type="image/x-icon">
@ -653,7 +653,7 @@ title="pinterest icon"></i>
</div>
<script src="https://h.cowbay.org/js/jquery.min.js"></script>
<script src="https://h.cowbay.org/js/jquerymigrate.js"></script>
<script src="https://h.cowbay.org/js/production.min.js?v=1576652202"></script>
<script src="https://h.cowbay.org/js/production.min.js?v=1576828465"></script>
</body>
</html>

@ -45,9 +45,9 @@
<link rel="stylesheet" href="https://use.fontawesome.com/releases/v5.3.1/css/all.css" integrity="sha384-mzrmE5qonljUremFsqc01SB46JvROS7bZs3IO2EmfFsd15uHvIt+Y8vEf7N7fWAU" crossorigin="anonymous">
<link href="https://h.cowbay.org/css/style.css?v=1576652202" rel="stylesheet" id="theme-stylesheet" type='text/css' media='all'>
<link href="https://h.cowbay.org/css/style.css?v=1576828466" rel="stylesheet" id="theme-stylesheet" type='text/css' media='all'>
<link href="https://h.cowbay.org/css/custom.css?v=1576652202" rel="stylesheet" type='text/css' media='all'>
<link href="https://h.cowbay.org/css/custom.css?v=1576828466" rel="stylesheet" type='text/css' media='all'>
<link rel="shortcut icon" href="https://h.cowbay.org/img/favicon.ico" type="image/x-icon">
<link rel="icon" href="https://h.cowbay.org/img/favicon.ico" type="image/x-icon">
@ -694,7 +694,7 @@ title="pinterest icon"></i>
</div>
<script src="https://h.cowbay.org/js/jquery.min.js"></script>
<script src="https://h.cowbay.org/js/jquerymigrate.js"></script>
<script src="https://h.cowbay.org/js/production.min.js?v=1576652202"></script>
<script src="https://h.cowbay.org/js/production.min.js?v=1576828466"></script>
</body>
</html>

@ -3,37 +3,47 @@
xmlns:xhtml="http://www.w3.org/1999/xhtml">
<url>
<loc>https://h.cowbay.org/post/accidentally-typed-an-extra-space-in-ansible-playbook/</loc>
<lastmod>2019-12-18T14:44:27+08:00</lastmod>
<loc>https://h.cowbay.org/post/test-pg_prewarm/</loc>
<lastmod>2019-12-20T14:31:42+08:00</lastmod>
</url>
<url>
<loc>https://h.cowbay.org/tags/ansible/</loc>
<lastmod>2019-12-18T14:44:27+08:00</lastmod>
<loc>https://h.cowbay.org/categories/</loc>
<lastmod>2019-12-20T14:31:42+08:00</lastmod>
</url>
<url>
<loc>https://h.cowbay.org/categories/</loc>
<lastmod>2019-12-18T14:44:27+08:00</lastmod>
<loc>https://h.cowbay.org/</loc>
<lastmod>2019-12-20T14:31:42+08:00</lastmod>
</url>
<url>
<loc>https://h.cowbay.org/</loc>
<lastmod>2019-12-18T14:44:27+08:00</lastmod>
<loc>https://h.cowbay.org/tags/postgresql/</loc>
<lastmod>2019-12-20T14:31:42+08:00</lastmod>
</url>
<url>
<loc>https://h.cowbay.org/post/</loc>
<lastmod>2019-12-18T14:44:27+08:00</lastmod>
<lastmod>2019-12-20T14:31:42+08:00</lastmod>
</url>
<url>
<loc>https://h.cowbay.org/tags/</loc>
<lastmod>2019-12-18T14:44:27+08:00</lastmod>
<lastmod>2019-12-20T14:31:42+08:00</lastmod>
</url>
<url>
<loc>https://h.cowbay.org/categories/%E7%AD%86%E8%A8%98/</loc>
<lastmod>2019-12-20T14:31:42+08:00</lastmod>
</url>
<url>
<loc>https://h.cowbay.org/post/accidentally-typed-an-extra-space-in-ansible-playbook/</loc>
<lastmod>2019-12-18T14:44:27+08:00</lastmod>
</url>
<url>
<loc>https://h.cowbay.org/tags/ansible/</loc>
<lastmod>2019-12-18T14:44:27+08:00</lastmod>
</url>
@ -92,11 +102,6 @@
<lastmod>2019-09-20T10:17:17+08:00</lastmod>
</url>
<url>
<loc>https://h.cowbay.org/tags/postgresql/</loc>
<lastmod>2019-09-20T10:17:17+08:00</lastmod>
</url>
<url>
<loc>https://h.cowbay.org/post/bencmark-with-external-internal-nvme-ssd-and-external-sata-ssd/</loc>
<lastmod>2019-09-10T14:37:09+08:00</lastmod>
@ -388,12 +393,12 @@
</url>
<url>
<loc>https://h.cowbay.org/tags/%E7%BE%A4%E6%9A%89/</loc>
<loc>https://h.cowbay.org/categories/%E7%BE%A4%E6%9A%89/</loc>
<lastmod>2018-12-04T10:25:19+08:00</lastmod>
</url>
<url>
<loc>https://h.cowbay.org/categories/%E7%BE%A4%E6%9A%89/</loc>
<loc>https://h.cowbay.org/tags/%E7%BE%A4%E6%9A%89/</loc>
<lastmod>2018-12-04T10:25:19+08:00</lastmod>
</url>

@ -45,9 +45,9 @@
<link rel="stylesheet" href="https://use.fontawesome.com/releases/v5.3.1/css/all.css" integrity="sha384-mzrmE5qonljUremFsqc01SB46JvROS7bZs3IO2EmfFsd15uHvIt+Y8vEf7N7fWAU" crossorigin="anonymous">
<link href="https://h.cowbay.org/css/style.css?v=1576652202" rel="stylesheet" id="theme-stylesheet" type='text/css' media='all'>
<link href="https://h.cowbay.org/css/style.css?v=1576828466" rel="stylesheet" id="theme-stylesheet" type='text/css' media='all'>
<link href="https://h.cowbay.org/css/custom.css?v=1576652202" rel="stylesheet" type='text/css' media='all'>
<link href="https://h.cowbay.org/css/custom.css?v=1576828466" rel="stylesheet" type='text/css' media='all'>
<link rel="shortcut icon" href="https://h.cowbay.org/img/favicon.ico" type="image/x-icon">
<link rel="icon" href="https://h.cowbay.org/img/favicon.ico" type="image/x-icon">
@ -480,6 +480,6 @@ if (!doNotTrack) {
</div>
<script src="https://h.cowbay.org/js/jquery.min.js"></script>
<script src="https://h.cowbay.org/js/jquerymigrate.js"></script>
<script src="https://h.cowbay.org/js/production.min.js?v=1576652202"></script>
<script src="https://h.cowbay.org/js/production.min.js?v=1576828466"></script>
</body>

@ -45,9 +45,9 @@
<link rel="stylesheet" href="https://use.fontawesome.com/releases/v5.3.1/css/all.css" integrity="sha384-mzrmE5qonljUremFsqc01SB46JvROS7bZs3IO2EmfFsd15uHvIt+Y8vEf7N7fWAU" crossorigin="anonymous">
<link href="https://h.cowbay.org/css/style.css?v=1576652201" rel="stylesheet" id="theme-stylesheet" type='text/css' media='all'>
<link href="https://h.cowbay.org/css/style.css?v=1576828465" rel="stylesheet" id="theme-stylesheet" type='text/css' media='all'>
<link href="https://h.cowbay.org/css/custom.css?v=1576652201" rel="stylesheet" type='text/css' media='all'>
<link href="https://h.cowbay.org/css/custom.css?v=1576828465" rel="stylesheet" type='text/css' media='all'>
<link rel="shortcut icon" href="https://h.cowbay.org/img/favicon.ico" type="image/x-icon">
<link rel="icon" href="https://h.cowbay.org/img/favicon.ico" type="image/x-icon">
@ -766,6 +766,6 @@ if (!doNotTrack) {
</div>
<script src="https://h.cowbay.org/js/jquery.min.js"></script>
<script src="https://h.cowbay.org/js/jquerymigrate.js"></script>
<script src="https://h.cowbay.org/js/production.min.js?v=1576652201"></script>
<script src="https://h.cowbay.org/js/production.min.js?v=1576828465"></script>
</body>

@ -45,9 +45,9 @@
<link rel="stylesheet" href="https://use.fontawesome.com/releases/v5.3.1/css/all.css" integrity="sha384-mzrmE5qonljUremFsqc01SB46JvROS7bZs3IO2EmfFsd15uHvIt+Y8vEf7N7fWAU" crossorigin="anonymous">
<link href="https://h.cowbay.org/css/style.css?v=1576652202" rel="stylesheet" id="theme-stylesheet" type='text/css' media='all'>
<link href="https://h.cowbay.org/css/style.css?v=1576828465" rel="stylesheet" id="theme-stylesheet" type='text/css' media='all'>
<link href="https://h.cowbay.org/css/custom.css?v=1576652202" rel="stylesheet" type='text/css' media='all'>
<link href="https://h.cowbay.org/css/custom.css?v=1576828465" rel="stylesheet" type='text/css' media='all'>
<link rel="shortcut icon" href="https://h.cowbay.org/img/favicon.ico" type="image/x-icon">
<link rel="icon" href="https://h.cowbay.org/img/favicon.ico" type="image/x-icon">
@ -520,6 +520,6 @@ if (!doNotTrack) {
</div>
<script src="https://h.cowbay.org/js/jquery.min.js"></script>
<script src="https://h.cowbay.org/js/jquerymigrate.js"></script>
<script src="https://h.cowbay.org/js/production.min.js?v=1576652202"></script>
<script src="https://h.cowbay.org/js/production.min.js?v=1576828465"></script>
</body>

@ -45,9 +45,9 @@
<link rel="stylesheet" href="https://use.fontawesome.com/releases/v5.3.1/css/all.css" integrity="sha384-mzrmE5qonljUremFsqc01SB46JvROS7bZs3IO2EmfFsd15uHvIt+Y8vEf7N7fWAU" crossorigin="anonymous">
<link href="https://h.cowbay.org/css/style.css?v=1576652202" rel="stylesheet" id="theme-stylesheet" type='text/css' media='all'>
<link href="https://h.cowbay.org/css/style.css?v=1576828465" rel="stylesheet" id="theme-stylesheet" type='text/css' media='all'>
<link href="https://h.cowbay.org/css/custom.css?v=1576652202" rel="stylesheet" type='text/css' media='all'>
<link href="https://h.cowbay.org/css/custom.css?v=1576828465" rel="stylesheet" type='text/css' media='all'>
<link rel="shortcut icon" href="https://h.cowbay.org/img/favicon.ico" type="image/x-icon">
<link rel="icon" href="https://h.cowbay.org/img/favicon.ico" type="image/x-icon">
@ -466,6 +466,6 @@ if (!doNotTrack) {
</div>
<script src="https://h.cowbay.org/js/jquery.min.js"></script>
<script src="https://h.cowbay.org/js/jquerymigrate.js"></script>
<script src="https://h.cowbay.org/js/production.min.js?v=1576652202"></script>
<script src="https://h.cowbay.org/js/production.min.js?v=1576828465"></script>
</body>

@ -45,9 +45,9 @@
<link rel="stylesheet" href="https://use.fontawesome.com/releases/v5.3.1/css/all.css" integrity="sha384-mzrmE5qonljUremFsqc01SB46JvROS7bZs3IO2EmfFsd15uHvIt+Y8vEf7N7fWAU" crossorigin="anonymous">
<link href="https://h.cowbay.org/css/style.css?v=1576652202" rel="stylesheet" id="theme-stylesheet" type='text/css' media='all'>
<link href="https://h.cowbay.org/css/style.css?v=1576828466" rel="stylesheet" id="theme-stylesheet" type='text/css' media='all'>
<link href="https://h.cowbay.org/css/custom.css?v=1576652202" rel="stylesheet" type='text/css' media='all'>
<link href="https://h.cowbay.org/css/custom.css?v=1576828466" rel="stylesheet" type='text/css' media='all'>
<link rel="shortcut icon" href="https://h.cowbay.org/img/favicon.ico" type="image/x-icon">
<link rel="icon" href="https://h.cowbay.org/img/favicon.ico" type="image/x-icon">
@ -480,6 +480,6 @@ if (!doNotTrack) {
</div>
<script src="https://h.cowbay.org/js/jquery.min.js"></script>
<script src="https://h.cowbay.org/js/jquerymigrate.js"></script>
<script src="https://h.cowbay.org/js/production.min.js?v=1576652202"></script>
<script src="https://h.cowbay.org/js/production.min.js?v=1576828466"></script>
</body>

@ -45,9 +45,9 @@
<link rel="stylesheet" href="https://use.fontawesome.com/releases/v5.3.1/css/all.css" integrity="sha384-mzrmE5qonljUremFsqc01SB46JvROS7bZs3IO2EmfFsd15uHvIt+Y8vEf7N7fWAU" crossorigin="anonymous">
<link href="https://h.cowbay.org/css/style.css?v=1576652202" rel="stylesheet" id="theme-stylesheet" type='text/css' media='all'>
<link href="https://h.cowbay.org/css/style.css?v=1576828466" rel="stylesheet" id="theme-stylesheet" type='text/css' media='all'>
<link href="https://h.cowbay.org/css/custom.css?v=1576652202" rel="stylesheet" type='text/css' media='all'>
<link href="https://h.cowbay.org/css/custom.css?v=1576828466" rel="stylesheet" type='text/css' media='all'>
<link rel="shortcut icon" href="https://h.cowbay.org/img/favicon.ico" type="image/x-icon">
<link rel="icon" href="https://h.cowbay.org/img/favicon.ico" type="image/x-icon">
@ -472,6 +472,6 @@ if (!doNotTrack) {
</div>
<script src="https://h.cowbay.org/js/jquery.min.js"></script>
<script src="https://h.cowbay.org/js/jquerymigrate.js"></script>
<script src="https://h.cowbay.org/js/production.min.js?v=1576652202"></script>
<script src="https://h.cowbay.org/js/production.min.js?v=1576828466"></script>
</body>

@ -45,9 +45,9 @@
<link rel="stylesheet" href="https://use.fontawesome.com/releases/v5.3.1/css/all.css" integrity="sha384-mzrmE5qonljUremFsqc01SB46JvROS7bZs3IO2EmfFsd15uHvIt+Y8vEf7N7fWAU" crossorigin="anonymous">
<link href="https://h.cowbay.org/css/style.css?v=1576652202" rel="stylesheet" id="theme-stylesheet" type='text/css' media='all'>
<link href="https://h.cowbay.org/css/style.css?v=1576828466" rel="stylesheet" id="theme-stylesheet" type='text/css' media='all'>
<link href="https://h.cowbay.org/css/custom.css?v=1576652202" rel="stylesheet" type='text/css' media='all'>
<link href="https://h.cowbay.org/css/custom.css?v=1576828466" rel="stylesheet" type='text/css' media='all'>
<link rel="shortcut icon" href="https://h.cowbay.org/img/favicon.ico" type="image/x-icon">
<link rel="icon" href="https://h.cowbay.org/img/favicon.ico" type="image/x-icon">
@ -466,6 +466,6 @@ if (!doNotTrack) {
</div>
<script src="https://h.cowbay.org/js/jquery.min.js"></script>
<script src="https://h.cowbay.org/js/jquerymigrate.js"></script>
<script src="https://h.cowbay.org/js/production.min.js?v=1576652202"></script>
<script src="https://h.cowbay.org/js/production.min.js?v=1576828466"></script>
</body>

@ -45,9 +45,9 @@
<link rel="stylesheet" href="https://use.fontawesome.com/releases/v5.3.1/css/all.css" integrity="sha384-mzrmE5qonljUremFsqc01SB46JvROS7bZs3IO2EmfFsd15uHvIt+Y8vEf7N7fWAU" crossorigin="anonymous">
<link href="https://h.cowbay.org/css/style.css?v=1576652202" rel="stylesheet" id="theme-stylesheet" type='text/css' media='all'>
<link href="https://h.cowbay.org/css/style.css?v=1576828465" rel="stylesheet" id="theme-stylesheet" type='text/css' media='all'>
<link href="https://h.cowbay.org/css/custom.css?v=1576652202" rel="stylesheet" type='text/css' media='all'>
<link href="https://h.cowbay.org/css/custom.css?v=1576828465" rel="stylesheet" type='text/css' media='all'>
<link rel="shortcut icon" href="https://h.cowbay.org/img/favicon.ico" type="image/x-icon">
<link rel="icon" href="https://h.cowbay.org/img/favicon.ico" type="image/x-icon">
@ -530,6 +530,6 @@ if (!doNotTrack) {
</div>
<script src="https://h.cowbay.org/js/jquery.min.js"></script>
<script src="https://h.cowbay.org/js/jquerymigrate.js"></script>
<script src="https://h.cowbay.org/js/production.min.js?v=1576652202"></script>
<script src="https://h.cowbay.org/js/production.min.js?v=1576828465"></script>
</body>

@ -45,9 +45,9 @@
<link rel="stylesheet" href="https://use.fontawesome.com/releases/v5.3.1/css/all.css" integrity="sha384-mzrmE5qonljUremFsqc01SB46JvROS7bZs3IO2EmfFsd15uHvIt+Y8vEf7N7fWAU" crossorigin="anonymous">
<link href="https://h.cowbay.org/css/style.css?v=1576652202" rel="stylesheet" id="theme-stylesheet" type='text/css' media='all'>
<link href="https://h.cowbay.org/css/style.css?v=1576828466" rel="stylesheet" id="theme-stylesheet" type='text/css' media='all'>
<link href="https://h.cowbay.org/css/custom.css?v=1576652202" rel="stylesheet" type='text/css' media='all'>
<link href="https://h.cowbay.org/css/custom.css?v=1576828466" rel="stylesheet" type='text/css' media='all'>
<link rel="shortcut icon" href="https://h.cowbay.org/img/favicon.ico" type="image/x-icon">
<link rel="icon" href="https://h.cowbay.org/img/favicon.ico" type="image/x-icon">
@ -528,6 +528,6 @@ if (!doNotTrack) {
</div>
<script src="https://h.cowbay.org/js/jquery.min.js"></script>
<script src="https://h.cowbay.org/js/jquerymigrate.js"></script>
<script src="https://h.cowbay.org/js/production.min.js?v=1576652202"></script>
<script src="https://h.cowbay.org/js/production.min.js?v=1576828466"></script>
</body>

@ -45,9 +45,9 @@
<link rel="stylesheet" href="https://use.fontawesome.com/releases/v5.3.1/css/all.css" integrity="sha384-mzrmE5qonljUremFsqc01SB46JvROS7bZs3IO2EmfFsd15uHvIt+Y8vEf7N7fWAU" crossorigin="anonymous">
<link href="https://h.cowbay.org/css/style.css?v=1576652202" rel="stylesheet" id="theme-stylesheet" type='text/css' media='all'>
<link href="https://h.cowbay.org/css/style.css?v=1576828466" rel="stylesheet" id="theme-stylesheet" type='text/css' media='all'>
<link href="https://h.cowbay.org/css/custom.css?v=1576652202" rel="stylesheet" type='text/css' media='all'>
<link href="https://h.cowbay.org/css/custom.css?v=1576828466" rel="stylesheet" type='text/css' media='all'>
<link rel="shortcut icon" href="https://h.cowbay.org/img/favicon.ico" type="image/x-icon">
<link rel="icon" href="https://h.cowbay.org/img/favicon.ico" type="image/x-icon">
@ -469,6 +469,6 @@ if (!doNotTrack) {
</div>
<script src="https://h.cowbay.org/js/jquery.min.js"></script>
<script src="https://h.cowbay.org/js/jquerymigrate.js"></script>
<script src="https://h.cowbay.org/js/production.min.js?v=1576652202"></script>
<script src="https://h.cowbay.org/js/production.min.js?v=1576828466"></script>
</body>

@ -45,9 +45,9 @@
<link rel="stylesheet" href="https://use.fontawesome.com/releases/v5.3.1/css/all.css" integrity="sha384-mzrmE5qonljUremFsqc01SB46JvROS7bZs3IO2EmfFsd15uHvIt+Y8vEf7N7fWAU" crossorigin="anonymous">
<link href="https://h.cowbay.org/css/style.css?v=1576652202" rel="stylesheet" id="theme-stylesheet" type='text/css' media='all'>
<link href="https://h.cowbay.org/css/style.css?v=1576828466" rel="stylesheet" id="theme-stylesheet" type='text/css' media='all'>
<link href="https://h.cowbay.org/css/custom.css?v=1576652202" rel="stylesheet" type='text/css' media='all'>
<link href="https://h.cowbay.org/css/custom.css?v=1576828466" rel="stylesheet" type='text/css' media='all'>
<link rel="shortcut icon" href="https://h.cowbay.org/img/favicon.ico" type="image/x-icon">
<link rel="icon" href="https://h.cowbay.org/img/favicon.ico" type="image/x-icon">
@ -482,6 +482,6 @@ if (!doNotTrack) {
</div>
<script src="https://h.cowbay.org/js/jquery.min.js"></script>
<script src="https://h.cowbay.org/js/jquerymigrate.js"></script>
<script src="https://h.cowbay.org/js/production.min.js?v=1576652202"></script>
<script src="https://h.cowbay.org/js/production.min.js?v=1576828466"></script>
</body>

@ -45,9 +45,9 @@
<link rel="stylesheet" href="https://use.fontawesome.com/releases/v5.3.1/css/all.css" integrity="sha384-mzrmE5qonljUremFsqc01SB46JvROS7bZs3IO2EmfFsd15uHvIt+Y8vEf7N7fWAU" crossorigin="anonymous">
<link href="https://h.cowbay.org/css/style.css?v=1576652202" rel="stylesheet" id="theme-stylesheet" type='text/css' media='all'>
<link href="https://h.cowbay.org/css/style.css?v=1576828465" rel="stylesheet" id="theme-stylesheet" type='text/css' media='all'>
<link href="https://h.cowbay.org/css/custom.css?v=1576652202" rel="stylesheet" type='text/css' media='all'>
<link href="https://h.cowbay.org/css/custom.css?v=1576828465" rel="stylesheet" type='text/css' media='all'>
<link rel="shortcut icon" href="https://h.cowbay.org/img/favicon.ico" type="image/x-icon">
<link rel="icon" href="https://h.cowbay.org/img/favicon.ico" type="image/x-icon">
@ -474,6 +474,6 @@ if (!doNotTrack) {
</div>
<script src="https://h.cowbay.org/js/jquery.min.js"></script>
<script src="https://h.cowbay.org/js/jquerymigrate.js"></script>
<script src="https://h.cowbay.org/js/production.min.js?v=1576652202"></script>
<script src="https://h.cowbay.org/js/production.min.js?v=1576828465"></script>
</body>

@ -45,9 +45,9 @@
<link rel="stylesheet" href="https://use.fontawesome.com/releases/v5.3.1/css/all.css" integrity="sha384-mzrmE5qonljUremFsqc01SB46JvROS7bZs3IO2EmfFsd15uHvIt+Y8vEf7N7fWAU" crossorigin="anonymous">
<link href="https://h.cowbay.org/css/style.css?v=1576652202" rel="stylesheet" id="theme-stylesheet" type='text/css' media='all'>
<link href="https://h.cowbay.org/css/style.css?v=1576828466" rel="stylesheet" id="theme-stylesheet" type='text/css' media='all'>
<link href="https://h.cowbay.org/css/custom.css?v=1576652202" rel="stylesheet" type='text/css' media='all'>
<link href="https://h.cowbay.org/css/custom.css?v=1576828466" rel="stylesheet" type='text/css' media='all'>
<link rel="shortcut icon" href="https://h.cowbay.org/img/favicon.ico" type="image/x-icon">
<link rel="icon" href="https://h.cowbay.org/img/favicon.ico" type="image/x-icon">
@ -470,6 +470,6 @@ if (!doNotTrack) {
</div>
<script src="https://h.cowbay.org/js/jquery.min.js"></script>
<script src="https://h.cowbay.org/js/jquerymigrate.js"></script>
<script src="https://h.cowbay.org/js/production.min.js?v=1576652202"></script>
<script src="https://h.cowbay.org/js/production.min.js?v=1576828466"></script>
</body>

@ -45,9 +45,9 @@
<link rel="stylesheet" href="https://use.fontawesome.com/releases/v5.3.1/css/all.css" integrity="sha384-mzrmE5qonljUremFsqc01SB46JvROS7bZs3IO2EmfFsd15uHvIt+Y8vEf7N7fWAU" crossorigin="anonymous">
<link href="https://h.cowbay.org/css/style.css?v=1576652202" rel="stylesheet" id="theme-stylesheet" type='text/css' media='all'>
<link href="https://h.cowbay.org/css/style.css?v=1576828466" rel="stylesheet" id="theme-stylesheet" type='text/css' media='all'>
<link href="https://h.cowbay.org/css/custom.css?v=1576652202" rel="stylesheet" type='text/css' media='all'>
<link href="https://h.cowbay.org/css/custom.css?v=1576828466" rel="stylesheet" type='text/css' media='all'>
<link rel="shortcut icon" href="https://h.cowbay.org/img/favicon.ico" type="image/x-icon">
<link rel="icon" href="https://h.cowbay.org/img/favicon.ico" type="image/x-icon">
@ -470,6 +470,6 @@ if (!doNotTrack) {
</div>
<script src="https://h.cowbay.org/js/jquery.min.js"></script>
<script src="https://h.cowbay.org/js/jquerymigrate.js"></script>
<script src="https://h.cowbay.org/js/production.min.js?v=1576652202"></script>
<script src="https://h.cowbay.org/js/production.min.js?v=1576828466"></script>
</body>

@ -6,11 +6,20 @@
<description>Recent content in Tags on MC部落</description>
<generator>Hugo -- gohugo.io</generator>
<language>en-us</language>
<lastBuildDate>Wed, 18 Dec 2019 14:44:27 +0800</lastBuildDate>
<lastBuildDate>Fri, 20 Dec 2019 14:31:42 +0800</lastBuildDate>
<atom:link href="https://h.cowbay.org/tags/index.xml" rel="self" type="application/rss+xml" />
<item>
<title>postgresql</title>
<link>https://h.cowbay.org/tags/postgresql/</link>
<pubDate>Fri, 20 Dec 2019 14:31:42 +0800</pubDate>
<guid>https://h.cowbay.org/tags/postgresql/</guid>
<description></description>
</item>
<item>
<title>ansible</title>
<link>https://h.cowbay.org/tags/ansible/</link>
@ -74,15 +83,6 @@
<description></description>
</item>
<item>
<title>postgresql</title>
<link>https://h.cowbay.org/tags/postgresql/</link>
<pubDate>Fri, 20 Sep 2019 10:17:17 +0800</pubDate>
<guid>https://h.cowbay.org/tags/postgresql/</guid>
<description></description>
</item>
<item>
<title>benchmark</title>
<link>https://h.cowbay.org/tags/benchmark/</link>

@ -45,9 +45,9 @@
<link rel="stylesheet" href="https://use.fontawesome.com/releases/v5.3.1/css/all.css" integrity="sha384-mzrmE5qonljUremFsqc01SB46JvROS7bZs3IO2EmfFsd15uHvIt+Y8vEf7N7fWAU" crossorigin="anonymous">
<link href="https://h.cowbay.org/css/style.css?v=1576652202" rel="stylesheet" id="theme-stylesheet" type='text/css' media='all'>
<link href="https://h.cowbay.org/css/style.css?v=1576828466" rel="stylesheet" id="theme-stylesheet" type='text/css' media='all'>
<link href="https://h.cowbay.org/css/custom.css?v=1576652202" rel="stylesheet" type='text/css' media='all'>
<link href="https://h.cowbay.org/css/custom.css?v=1576828466" rel="stylesheet" type='text/css' media='all'>
<link rel="shortcut icon" href="https://h.cowbay.org/img/favicon.ico" type="image/x-icon">
<link rel="icon" href="https://h.cowbay.org/img/favicon.ico" type="image/x-icon">
@ -472,6 +472,6 @@ if (!doNotTrack) {
</div>
<script src="https://h.cowbay.org/js/jquery.min.js"></script>
<script src="https://h.cowbay.org/js/jquerymigrate.js"></script>
<script src="https://h.cowbay.org/js/production.min.js?v=1576652202"></script>
<script src="https://h.cowbay.org/js/production.min.js?v=1576828466"></script>
</body>

@ -45,9 +45,9 @@
<link rel="stylesheet" href="https://use.fontawesome.com/releases/v5.3.1/css/all.css" integrity="sha384-mzrmE5qonljUremFsqc01SB46JvROS7bZs3IO2EmfFsd15uHvIt+Y8vEf7N7fWAU" crossorigin="anonymous">
<link href="https://h.cowbay.org/css/style.css?v=1576652202" rel="stylesheet" id="theme-stylesheet" type='text/css' media='all'>
<link href="https://h.cowbay.org/css/style.css?v=1576828465" rel="stylesheet" id="theme-stylesheet" type='text/css' media='all'>
<link href="https://h.cowbay.org/css/custom.css?v=1576652202" rel="stylesheet" type='text/css' media='all'>
<link href="https://h.cowbay.org/css/custom.css?v=1576828465" rel="stylesheet" type='text/css' media='all'>
<link rel="shortcut icon" href="https://h.cowbay.org/img/favicon.ico" type="image/x-icon">
<link rel="icon" href="https://h.cowbay.org/img/favicon.ico" type="image/x-icon">
@ -466,6 +466,6 @@ if (!doNotTrack) {
</div>
<script src="https://h.cowbay.org/js/jquery.min.js"></script>
<script src="https://h.cowbay.org/js/jquerymigrate.js"></script>
<script src="https://h.cowbay.org/js/production.min.js?v=1576652202"></script>
<script src="https://h.cowbay.org/js/production.min.js?v=1576828465"></script>
</body>

@ -45,9 +45,9 @@
<link rel="stylesheet" href="https://use.fontawesome.com/releases/v5.3.1/css/all.css" integrity="sha384-mzrmE5qonljUremFsqc01SB46JvROS7bZs3IO2EmfFsd15uHvIt+Y8vEf7N7fWAU" crossorigin="anonymous">
<link href="https://h.cowbay.org/css/style.css?v=1576652202" rel="stylesheet" id="theme-stylesheet" type='text/css' media='all'>
<link href="https://h.cowbay.org/css/style.css?v=1576828466" rel="stylesheet" id="theme-stylesheet" type='text/css' media='all'>
<link href="https://h.cowbay.org/css/custom.css?v=1576652202" rel="stylesheet" type='text/css' media='all'>
<link href="https://h.cowbay.org/css/custom.css?v=1576828466" rel="stylesheet" type='text/css' media='all'>
<link rel="shortcut icon" href="https://h.cowbay.org/img/favicon.ico" type="image/x-icon">
<link rel="icon" href="https://h.cowbay.org/img/favicon.ico" type="image/x-icon">
@ -826,6 +826,6 @@ if (!doNotTrack) {
</div>
<script src="https://h.cowbay.org/js/jquery.min.js"></script>
<script src="https://h.cowbay.org/js/jquerymigrate.js"></script>
<script src="https://h.cowbay.org/js/production.min.js?v=1576652202"></script>
<script src="https://h.cowbay.org/js/production.min.js?v=1576828466"></script>
</body>

@ -45,9 +45,9 @@
<link rel="stylesheet" href="https://use.fontawesome.com/releases/v5.3.1/css/all.css" integrity="sha384-mzrmE5qonljUremFsqc01SB46JvROS7bZs3IO2EmfFsd15uHvIt+Y8vEf7N7fWAU" crossorigin="anonymous">
<link href="https://h.cowbay.org/css/style.css?v=1576652202" rel="stylesheet" id="theme-stylesheet" type='text/css' media='all'>
<link href="https://h.cowbay.org/css/style.css?v=1576828466" rel="stylesheet" id="theme-stylesheet" type='text/css' media='all'>
<link href="https://h.cowbay.org/css/custom.css?v=1576652202" rel="stylesheet" type='text/css' media='all'>
<link href="https://h.cowbay.org/css/custom.css?v=1576828466" rel="stylesheet" type='text/css' media='all'>
<link rel="shortcut icon" href="https://h.cowbay.org/img/favicon.ico" type="image/x-icon">
<link rel="icon" href="https://h.cowbay.org/img/favicon.ico" type="image/x-icon">
@ -470,6 +470,6 @@ if (!doNotTrack) {
</div>
<script src="https://h.cowbay.org/js/jquery.min.js"></script>
<script src="https://h.cowbay.org/js/jquerymigrate.js"></script>
<script src="https://h.cowbay.org/js/production.min.js?v=1576652202"></script>
<script src="https://h.cowbay.org/js/production.min.js?v=1576828466"></script>
</body>

@ -45,9 +45,9 @@
<link rel="stylesheet" href="https://use.fontawesome.com/releases/v5.3.1/css/all.css" integrity="sha384-mzrmE5qonljUremFsqc01SB46JvROS7bZs3IO2EmfFsd15uHvIt+Y8vEf7N7fWAU" crossorigin="anonymous">
<link href="https://h.cowbay.org/css/style.css?v=1576652202" rel="stylesheet" id="theme-stylesheet" type='text/css' media='all'>
<link href="https://h.cowbay.org/css/style.css?v=1576828466" rel="stylesheet" id="theme-stylesheet" type='text/css' media='all'>
<link href="https://h.cowbay.org/css/custom.css?v=1576652202" rel="stylesheet" type='text/css' media='all'>
<link href="https://h.cowbay.org/css/custom.css?v=1576828466" rel="stylesheet" type='text/css' media='all'>
<link rel="shortcut icon" href="https://h.cowbay.org/img/favicon.ico" type="image/x-icon">
<link rel="icon" href="https://h.cowbay.org/img/favicon.ico" type="image/x-icon">
@ -472,6 +472,6 @@ if (!doNotTrack) {
</div>
<script src="https://h.cowbay.org/js/jquery.min.js"></script>
<script src="https://h.cowbay.org/js/jquerymigrate.js"></script>
<script src="https://h.cowbay.org/js/production.min.js?v=1576652202"></script>
<script src="https://h.cowbay.org/js/production.min.js?v=1576828466"></script>
</body>

@ -45,9 +45,9 @@
<link rel="stylesheet" href="https://use.fontawesome.com/releases/v5.3.1/css/all.css" integrity="sha384-mzrmE5qonljUremFsqc01SB46JvROS7bZs3IO2EmfFsd15uHvIt+Y8vEf7N7fWAU" crossorigin="anonymous">
<link href="https://h.cowbay.org/css/style.css?v=1576652202" rel="stylesheet" id="theme-stylesheet" type='text/css' media='all'>
<link href="https://h.cowbay.org/css/style.css?v=1576828466" rel="stylesheet" id="theme-stylesheet" type='text/css' media='all'>
<link href="https://h.cowbay.org/css/custom.css?v=1576652202" rel="stylesheet" type='text/css' media='all'>
<link href="https://h.cowbay.org/css/custom.css?v=1576828466" rel="stylesheet" type='text/css' media='all'>
<link rel="shortcut icon" href="https://h.cowbay.org/img/favicon.ico" type="image/x-icon">
<link rel="icon" href="https://h.cowbay.org/img/favicon.ico" type="image/x-icon">
@ -480,6 +480,6 @@ if (!doNotTrack) {
</div>
<script src="https://h.cowbay.org/js/jquery.min.js"></script>
<script src="https://h.cowbay.org/js/jquerymigrate.js"></script>
<script src="https://h.cowbay.org/js/production.min.js?v=1576652202"></script>
<script src="https://h.cowbay.org/js/production.min.js?v=1576828466"></script>
</body>

@ -45,9 +45,9 @@
<link rel="stylesheet" href="https://use.fontawesome.com/releases/v5.3.1/css/all.css" integrity="sha384-mzrmE5qonljUremFsqc01SB46JvROS7bZs3IO2EmfFsd15uHvIt+Y8vEf7N7fWAU" crossorigin="anonymous">
<link href="https://h.cowbay.org/css/style.css?v=1576652202" rel="stylesheet" id="theme-stylesheet" type='text/css' media='all'>
<link href="https://h.cowbay.org/css/style.css?v=1576828466" rel="stylesheet" id="theme-stylesheet" type='text/css' media='all'>
<link href="https://h.cowbay.org/css/custom.css?v=1576652202" rel="stylesheet" type='text/css' media='all'>
<link href="https://h.cowbay.org/css/custom.css?v=1576828466" rel="stylesheet" type='text/css' media='all'>
<link rel="shortcut icon" href="https://h.cowbay.org/img/favicon.ico" type="image/x-icon">
<link rel="icon" href="https://h.cowbay.org/img/favicon.ico" type="image/x-icon">
@ -472,6 +472,6 @@ if (!doNotTrack) {
</div>
<script src="https://h.cowbay.org/js/jquery.min.js"></script>
<script src="https://h.cowbay.org/js/jquerymigrate.js"></script>
<script src="https://h.cowbay.org/js/production.min.js?v=1576652202"></script>
<script src="https://h.cowbay.org/js/production.min.js?v=1576828466"></script>
</body>

@ -45,9 +45,9 @@
<link rel="stylesheet" href="https://use.fontawesome.com/releases/v5.3.1/css/all.css" integrity="sha384-mzrmE5qonljUremFsqc01SB46JvROS7bZs3IO2EmfFsd15uHvIt+Y8vEf7N7fWAU" crossorigin="anonymous">
<link href="https://h.cowbay.org/css/style.css?v=1576652202" rel="stylesheet" id="theme-stylesheet" type='text/css' media='all'>
<link href="https://h.cowbay.org/css/style.css?v=1576828466" rel="stylesheet" id="theme-stylesheet" type='text/css' media='all'>
<link href="https://h.cowbay.org/css/custom.css?v=1576652202" rel="stylesheet" type='text/css' media='all'>
<link href="https://h.cowbay.org/css/custom.css?v=1576828466" rel="stylesheet" type='text/css' media='all'>
<link rel="shortcut icon" href="https://h.cowbay.org/img/favicon.ico" type="image/x-icon">
<link rel="icon" href="https://h.cowbay.org/img/favicon.ico" type="image/x-icon">
@ -470,6 +470,6 @@ if (!doNotTrack) {
</div>
<script src="https://h.cowbay.org/js/jquery.min.js"></script>
<script src="https://h.cowbay.org/js/jquerymigrate.js"></script>
<script src="https://h.cowbay.org/js/production.min.js?v=1576652202"></script>
<script src="https://h.cowbay.org/js/production.min.js?v=1576828466"></script>
</body>

@ -45,9 +45,9 @@
<link rel="stylesheet" href="https://use.fontawesome.com/releases/v5.3.1/css/all.css" integrity="sha384-mzrmE5qonljUremFsqc01SB46JvROS7bZs3IO2EmfFsd15uHvIt+Y8vEf7N7fWAU" crossorigin="anonymous">
<link href="https://h.cowbay.org/css/style.css?v=1576652202" rel="stylesheet" id="theme-stylesheet" type='text/css' media='all'>
<link href="https://h.cowbay.org/css/style.css?v=1576828466" rel="stylesheet" id="theme-stylesheet" type='text/css' media='all'>
<link href="https://h.cowbay.org/css/custom.css?v=1576652202" rel="stylesheet" type='text/css' media='all'>
<link href="https://h.cowbay.org/css/custom.css?v=1576828466" rel="stylesheet" type='text/css' media='all'>
<link rel="shortcut icon" href="https://h.cowbay.org/img/favicon.ico" type="image/x-icon">
<link rel="icon" href="https://h.cowbay.org/img/favicon.ico" type="image/x-icon">
@ -537,6 +537,6 @@ if (!doNotTrack) {
</div>
<script src="https://h.cowbay.org/js/jquery.min.js"></script>
<script src="https://h.cowbay.org/js/jquerymigrate.js"></script>
<script src="https://h.cowbay.org/js/production.min.js?v=1576652202"></script>
<script src="https://h.cowbay.org/js/production.min.js?v=1576828466"></script>
</body>

@ -45,9 +45,9 @@
<link rel="stylesheet" href="https://use.fontawesome.com/releases/v5.3.1/css/all.css" integrity="sha384-mzrmE5qonljUremFsqc01SB46JvROS7bZs3IO2EmfFsd15uHvIt+Y8vEf7N7fWAU" crossorigin="anonymous">
<link href="https://h.cowbay.org/css/style.css?v=1576652202" rel="stylesheet" id="theme-stylesheet" type='text/css' media='all'>
<link href="https://h.cowbay.org/css/style.css?v=1576828465" rel="stylesheet" id="theme-stylesheet" type='text/css' media='all'>
<link href="https://h.cowbay.org/css/custom.css?v=1576652202" rel="stylesheet" type='text/css' media='all'>
<link href="https://h.cowbay.org/css/custom.css?v=1576828465" rel="stylesheet" type='text/css' media='all'>
<link rel="shortcut icon" href="https://h.cowbay.org/img/favicon.ico" type="image/x-icon">
<link rel="icon" href="https://h.cowbay.org/img/favicon.ico" type="image/x-icon">
@ -470,6 +470,6 @@ if (!doNotTrack) {
</div>
<script src="https://h.cowbay.org/js/jquery.min.js"></script>
<script src="https://h.cowbay.org/js/jquerymigrate.js"></script>
<script src="https://h.cowbay.org/js/production.min.js?v=1576652202"></script>
<script src="https://h.cowbay.org/js/production.min.js?v=1576828465"></script>
</body>

@ -45,9 +45,9 @@
<link rel="stylesheet" href="https://use.fontawesome.com/releases/v5.3.1/css/all.css" integrity="sha384-mzrmE5qonljUremFsqc01SB46JvROS7bZs3IO2EmfFsd15uHvIt+Y8vEf7N7fWAU" crossorigin="anonymous">
<link href="https://h.cowbay.org/css/style.css?v=1576652202" rel="stylesheet" id="theme-stylesheet" type='text/css' media='all'>
<link href="https://h.cowbay.org/css/style.css?v=1576828465" rel="stylesheet" id="theme-stylesheet" type='text/css' media='all'>
<link href="https://h.cowbay.org/css/custom.css?v=1576652202" rel="stylesheet" type='text/css' media='all'>
<link href="https://h.cowbay.org/css/custom.css?v=1576828465" rel="stylesheet" type='text/css' media='all'>
<link rel="shortcut icon" href="https://h.cowbay.org/img/favicon.ico" type="image/x-icon">
<link rel="icon" href="https://h.cowbay.org/img/favicon.ico" type="image/x-icon">
@ -466,6 +466,6 @@ if (!doNotTrack) {
</div>
<script src="https://h.cowbay.org/js/jquery.min.js"></script>
<script src="https://h.cowbay.org/js/jquerymigrate.js"></script>
<script src="https://h.cowbay.org/js/production.min.js?v=1576652202"></script>
<script src="https://h.cowbay.org/js/production.min.js?v=1576828465"></script>
</body>

@ -45,9 +45,9 @@
<link rel="stylesheet" href="https://use.fontawesome.com/releases/v5.3.1/css/all.css" integrity="sha384-mzrmE5qonljUremFsqc01SB46JvROS7bZs3IO2EmfFsd15uHvIt+Y8vEf7N7fWAU" crossorigin="anonymous">
<link href="https://h.cowbay.org/css/style.css?v=1576652202" rel="stylesheet" id="theme-stylesheet" type='text/css' media='all'>
<link href="https://h.cowbay.org/css/style.css?v=1576828465" rel="stylesheet" id="theme-stylesheet" type='text/css' media='all'>
<link href="https://h.cowbay.org/css/custom.css?v=1576652202" rel="stylesheet" type='text/css' media='all'>
<link href="https://h.cowbay.org/css/custom.css?v=1576828465" rel="stylesheet" type='text/css' media='all'>
<link rel="shortcut icon" href="https://h.cowbay.org/img/favicon.ico" type="image/x-icon">
<link rel="icon" href="https://h.cowbay.org/img/favicon.ico" type="image/x-icon">
@ -516,6 +516,6 @@ if (!doNotTrack) {
</div>
<script src="https://h.cowbay.org/js/jquery.min.js"></script>
<script src="https://h.cowbay.org/js/jquerymigrate.js"></script>
<script src="https://h.cowbay.org/js/production.min.js?v=1576652202"></script>
<script src="https://h.cowbay.org/js/production.min.js?v=1576828465"></script>
</body>

@ -21,8 +21,8 @@
"accountablePerson" : "",
"copyrightHolder" : "",
"copyrightYear" : "2019",
"datePublished": "2019-09-20 10:17:17 \x2b0800 CST",
"dateModified" : "2019-09-20 10:17:17 \x2b0800 CST",
"datePublished": "2019-12-20 14:31:42 \x2b0800 CST",
"dateModified" : "2019-12-20 14:31:42 \x2b0800 CST",
"url" : "https:\/\/h.cowbay.org\/tags\/postgresql\/",
"wordCount" : "0",
"image" : "https://h.cowbay.org%!s(\u003cnil\u003e)"",
@ -45,9 +45,9 @@
<link rel="stylesheet" href="https://use.fontawesome.com/releases/v5.3.1/css/all.css" integrity="sha384-mzrmE5qonljUremFsqc01SB46JvROS7bZs3IO2EmfFsd15uHvIt+Y8vEf7N7fWAU" crossorigin="anonymous">
<link href="https://h.cowbay.org/css/style.css?v=1576652202" rel="stylesheet" id="theme-stylesheet" type='text/css' media='all'>
<link href="https://h.cowbay.org/css/style.css?v=1576828465" rel="stylesheet" id="theme-stylesheet" type='text/css' media='all'>
<link href="https://h.cowbay.org/css/custom.css?v=1576652202" rel="stylesheet" type='text/css' media='all'>
<link href="https://h.cowbay.org/css/custom.css?v=1576828465" rel="stylesheet" type='text/css' media='all'>
<link rel="shortcut icon" href="https://h.cowbay.org/img/favicon.ico" type="image/x-icon">
<link rel="icon" href="https://h.cowbay.org/img/favicon.ico" type="image/x-icon">
@ -290,6 +290,62 @@ if (!doNotTrack) {
<a class="featured-image-link" href="https://h.cowbay.org/post/test-pg_prewarm/"><div class='featured-image lazy lazy-bg-image' data-background="https://h.cowbay.org/images/post-default-9.jpg"></div></a>
<div class="excerpt-container">
<div class="excerpt-meta">
<span class="date">20 December 2019</span> <span> / </span>
<span class="author">
<a href="https://github.com/changchichung" title="Posts by Eric Chang" rel="author">Eric Chang</a>
</span>
<span> / </span>
<span class="category">
<a href="/categories/%E7%AD%86%E8%A8%98">筆記</a>
</span>
</div>
<div class='excerpt-header'>
<h2 class='excerpt-title'>
<a href="https://h.cowbay.org/post/test-pg_prewarm/ "> [筆記] 測試 postgresql 的pg_prewarm 對效能的影響 / test pg_prewarm in postgresql 11 </a>
</h2>
</div>
<div class='excerpt-content'>
<article>
<p>老闆提到想要把新系統的 postgresql 資料庫都撈到記憶體裡面</p>
<p>但是否決了我提出的ramdisk 作法(因為當機的話,資料就沒了)</p>
<p>在找資料的時候發現了這個postgresql 的 pg_prewarm extension</p>
<p>好像有點意思?就來測試看看吧!</p>
<p>只是目前還不知道該怎麼解讀測試的數據就是了&hellip;</p>
<p>幹!林北真的不是 DBA 啦 =.=</p>
<div class="more-link-wrapper"><a class="more-link" href="https://h.cowbay.org/post/test-pg_prewarm/">Read the post<span class="screen-reader-text">This is a Standard Post</span></a></div>
</article>
</div>
</div>
</div>
<div class="post type-post status-publish format-standard has-post-thumbnail hentry category-design tag-memories tag-normal-post tag-standard-2 excerpt zoom full-without-featured even excerpt">
<a class="featured-image-link" href="https://h.cowbay.org/post/pg_auto_failover_in_ubuntu_1804_psql_11/"><div class='featured-image lazy lazy-bg-image' data-background="https://h.cowbay.org/images/post-default-11.jpg"></div></a>
@ -341,7 +397,7 @@ if (!doNotTrack) {
<div class="post type-post status-publish format-standard has-post-thumbnail hentry category-design tag-memories tag-normal-post tag-standard-2 excerpt zoom full-without-featured even excerpt">
<div class="post type-post status-publish format-standard has-post-thumbnail hentry category-design tag-memories tag-normal-post tag-standard-2 excerpt zoom full-without-featured odd excerpt">
@ -389,7 +445,7 @@ if (!doNotTrack) {
<div class="post type-post status-publish format-standard has-post-thumbnail hentry category-design tag-memories tag-normal-post tag-standard-2 excerpt zoom full-without-featured odd excerpt">
<div class="post type-post status-publish format-standard has-post-thumbnail hentry category-design tag-memories tag-normal-post tag-standard-2 excerpt zoom full-without-featured even excerpt">
@ -439,7 +495,7 @@ if (!doNotTrack) {
<div class="post type-post status-publish format-standard has-post-thumbnail hentry category-design tag-memories tag-normal-post tag-standard-2 excerpt zoom full-without-featured even excerpt">
<div class="post type-post status-publish format-standard has-post-thumbnail hentry category-design tag-memories tag-normal-post tag-standard-2 excerpt zoom full-without-featured odd excerpt">
@ -485,7 +541,7 @@ if (!doNotTrack) {
<div class="post type-post status-publish format-standard has-post-thumbnail hentry category-design tag-memories tag-normal-post tag-standard-2 excerpt zoom full-without-featured odd excerpt">
<div class="post type-post status-publish format-standard has-post-thumbnail hentry category-design tag-memories tag-normal-post tag-standard-2 excerpt zoom full-without-featured even excerpt">
@ -531,7 +587,7 @@ if (!doNotTrack) {
<div class="post type-post status-publish format-standard has-post-thumbnail hentry category-design tag-memories tag-normal-post tag-standard-2 excerpt zoom full-without-featured even excerpt">
<div class="post type-post status-publish format-standard has-post-thumbnail hentry category-design tag-memories tag-normal-post tag-standard-2 excerpt zoom full-without-featured odd excerpt">
@ -716,6 +772,6 @@ if (!doNotTrack) {
</div>
<script src="https://h.cowbay.org/js/jquery.min.js"></script>
<script src="https://h.cowbay.org/js/jquerymigrate.js"></script>
<script src="https://h.cowbay.org/js/production.min.js?v=1576652202"></script>
<script src="https://h.cowbay.org/js/production.min.js?v=1576828465"></script>
</body>

@ -6,11 +6,30 @@
<description>Recent content in postgresql on MC部落</description>
<generator>Hugo -- gohugo.io</generator>
<language>en-us</language>
<lastBuildDate>Fri, 20 Sep 2019 10:17:17 +0800</lastBuildDate>
<lastBuildDate>Fri, 20 Dec 2019 14:31:42 +0800</lastBuildDate>
<atom:link href="https://h.cowbay.org/tags/postgresql/index.xml" rel="self" type="application/rss+xml" />
<item>
<title>[筆記] 測試 postgresql 的pg_prewarm 對效能的影響 / test pg_prewarm in postgresql 11</title>
<link>https://h.cowbay.org/post/test-pg_prewarm/</link>
<pubDate>Fri, 20 Dec 2019 14:31:42 +0800</pubDate>
<guid>https://h.cowbay.org/post/test-pg_prewarm/</guid>
<description>&lt;p&gt;老闆提到想要把新系統的 postgresql 資料庫都撈到記憶體裡面&lt;/p&gt;
&lt;p&gt;但是否決了我提出的ramdisk 作法(因為當機的話,資料就沒了)&lt;/p&gt;
&lt;p&gt;在找資料的時候發現了這個postgresql 的 pg_prewarm extension&lt;/p&gt;
&lt;p&gt;好像有點意思?就來測試看看吧!&lt;/p&gt;
&lt;p&gt;只是目前還不知道該怎麼解讀測試的數據就是了&amp;hellip;&lt;/p&gt;
&lt;p&gt;幹!林北真的不是 DBA 啦 =.=&lt;/p&gt;</description>
</item>
<item>
<title>[筆記] 在ubuntu 18.04安裝psql 11 以及 pg_auto_failover / install psql 11 and pg_auto_failover in ubuntu 18.04</title>
<link>https://h.cowbay.org/post/pg_auto_failover_in_ubuntu_1804_psql_11/</link>

@ -45,9 +45,9 @@
<link rel="stylesheet" href="https://use.fontawesome.com/releases/v5.3.1/css/all.css" integrity="sha384-mzrmE5qonljUremFsqc01SB46JvROS7bZs3IO2EmfFsd15uHvIt+Y8vEf7N7fWAU" crossorigin="anonymous">
<link href="https://h.cowbay.org/css/style.css?v=1576652202" rel="stylesheet" id="theme-stylesheet" type='text/css' media='all'>
<link href="https://h.cowbay.org/css/style.css?v=1576828466" rel="stylesheet" id="theme-stylesheet" type='text/css' media='all'>
<link href="https://h.cowbay.org/css/custom.css?v=1576652202" rel="stylesheet" type='text/css' media='all'>
<link href="https://h.cowbay.org/css/custom.css?v=1576828466" rel="stylesheet" type='text/css' media='all'>
<link rel="shortcut icon" href="https://h.cowbay.org/img/favicon.ico" type="image/x-icon">
<link rel="icon" href="https://h.cowbay.org/img/favicon.ico" type="image/x-icon">
@ -474,6 +474,6 @@ if (!doNotTrack) {
</div>
<script src="https://h.cowbay.org/js/jquery.min.js"></script>
<script src="https://h.cowbay.org/js/jquerymigrate.js"></script>
<script src="https://h.cowbay.org/js/production.min.js?v=1576652202"></script>
<script src="https://h.cowbay.org/js/production.min.js?v=1576828466"></script>
</body>

Some files were not shown because too many files have changed in this diff Show More

Loading…
Cancel
Save