2019年11月28日 星期四

shell script 判斷grep字串是否有值

cat testfile.txt | grep -q 'JAMES'
if [ $? -ne 0 ]       #$?=0表示有找到值,1表示未找到, 2表示命令執行錯誤. ne=not eq
then
      echo "not find JAMES"
else
      echo "find JAMES"
fi

2019年11月5日 星期二

[PostgreSQL]TABLE LOCK查詢/解除

SELECT t.schemaname,
    t.relname,
    l.locktype,
    l.page,
    l.virtualtransaction,
    l.pid,
    l.mode,
    l.granted
   FROM pg_locks l
   JOIN pg_stat_all_tables t ON l.relation = t.relid
  WHERE t.schemaname <> 'pg_toast'::name AND t.schemaname <> 'pg_catalog'::name
  ORDER BY t.schemaname, t.relname;


  SELECT pg_cancel_backend('PID');

2019年7月23日 星期二

[PostgreSQL]取欄位型態名稱

select column_name, data_type, character_maximum_length from information_schema.columns
where
 table_schema='public'
 and table_name = 'table_name'

2019年3月8日 星期五

[MS SQL]SQL Server驗證登入


來源:
https://awei791129.pixnet.net/blog/post/20653040-%5Bms-sql%5D-sql-server%E7%84%A1%E6%B3%95sa%E7%99%BB%E5%85%A5
https://docs.microsoft.com/zh-tw/sql/database-engine/configure-windows/change-server-authentication-mode?view=sql-server-2017
使用sa登入

變更安全性驗證模式

  1. 在 Transact-SQL 的物件總管中,以滑鼠右鍵按一下伺服器,然後按一下 [屬性]。
  2. 在 [安全性] 頁面上的 [伺服器驗證] 中,選取新的伺服器驗證模式,然後按一下 [確定]
  3. 在 Transact-SQL 對話方塊中,按一下 [確定] 以確認需要重新啟動 [SQL Server]
  4. 在物件總管中,以滑鼠右鍵按一下伺服器,然後按一下 [重新啟動]。 如果 [SQL Server] Agent 正在執行,也必須將它重新啟動。

若要啟用 sa 登入

  1. 在物件總管中,依序展開 [安全性] 和 [登入],並以滑鼠右鍵按一下 [sa],然後按一下 [屬性]。
  2. 在 [一般] 頁面上,您可能需要為登入建立並確認密碼。
  3. 在 [狀態] 頁面的 [登入] 區段中按一下 [已啟用],然後按一下 [確定]

但是,你如果現在重新連線的話, 也是無法用sa登入的,你必須要去重新啟動SQLEXPRESS才行,很多人會在這裡失敗,到網路上發問

控制台\系統管理工具\服務, 找SQL Server (SQLEXPRESS), 將這個服務重新啟動之後就可以使用sa登入了
PS. 在重新啟動SQL Server (SQLEXPRESS)服務時,請確定SSMS(Microsoft SQL Server Management Studio Express)是關閉的

2019年2月22日 星期五

[PostgreSQL] CPU100%追蹤SQL

https://www.centos.bz/2017/08/postgresql-cpu-100-slow-sql/

1. 查看連接數據
select count( * ) from pg_stat_activity where state not like '%idle';

2.追蹤慢SQL
2、第二种方法是,直接通过pg_stat_activity视图,利用下面的查询,查看当前长时间执行,一直不结束的SQL。这些SQL对应造成CPU满,也有直接嫌疑。
select datname, usename, client_addr, application_name, state, backend_start, xact_start, xact_stay, query_start, query_stay, replace(query, chr(10), ' ') as query from (select pgsa.datname as datname, pgsa.usename as usename, pgsa.client_addr client_addr, pgsa.application_name as application_name, pgsa.state as state, pgsa.backend_start as backend_start, pgsa.xact_start as xact_start, extract(epoch from (now() - pgsa.xact_start)) as xact_stay, pgsa.query_start as query_start, extract(epoch from (now() - pgsa.query_start)) as query_stay , pgsa.query as query from pg_stat_activity as pgsa where pgsa.state != 'idle' and pgsa.state != 'idle in transaction' and pgsa.state != 'idle in transaction (aborted)') idleconnections order by query_stay desc limit 5;

3.處理慢SQL
对于上面的方法查出来的慢SQL,首先需要做的可能是Cancel或Kill掉他们,使业务先恢复:
select pg_cancel_backend(pid) from pg_stat_activity where  query like '%%' and pid != pg_backend_pid();
select pg_terminate_backend(pid) from pg_stat_activity where  query like '%%' and pid != pg_backend_pid();




2019年1月8日 星期二

清除IE CACHE


清除IE CACHE
1. IE->工具->網際網路選項->瀏覽歷程記錄->[刪除]
2. IE->工具->網際網路選項->瀏覽歷程記錄->[設定]->[檢視檔案]->清除資料夾下的檔案(Ctrl+A 全選後刪除檔案)

[刪除]

 

[設定]

[清除資料夾下檔案]