繼Golang學習系列第三天https://www.cnblogs.com/dongguangming/p/13311198.html:數組、切片、Map、結構體、指針、函數、接口類型、channel通道,今天開始學習golang操作數據庫,以PostgreSQL為例。
0. 安裝PostgreSQL 數據庫
可以參考PostgreSQL官網https://www.postgresql.org/download/linux/redhat/安裝該數據庫
特別需要說明的是,安裝完成后,自動建立了一個名為postgres的用戶,默認密碼為空;同時也自動創建了一個名字叫postgres的數據庫。
0.1、修改默認生成的數據庫用戶postgres的密碼。
把密碼設置為12345678.
0.2 創建示例數據庫
測試數據庫名可以自取,
然后建一張測試表讓golang使用
0.3 開啟遠程訪問
由於數據庫和應用程序不在同一機器上,故數據庫要開啟遠程訪問功能
修改配置文件,即
找到listen_adderess配置項設為*
繼續修改另一配置文件,即
在# IPv4 local connections:處追加客戶端的連接信息
重啟postgresql服務
最后客戶端測試連接
1. golang操作數據庫
連接數據庫會使用第三方驅動包,由於牆的緣故,可以先設置一下代理
就以基本的增刪改查數據,記錄如何使用go操作數據庫
1. 1 Select查詢數據
新建postgres.go項目,鍵入以下測試連接數據庫的代碼
然后創建一個模塊依賴文件
安裝具體的依賴包
最后運行測試代碼
從數據庫查詢id等於1的記錄,如圖
和數據庫里的數據是對應的
1.2 增加數據
接上1.1示例代碼,稍作更改即可,文件命名為postgres-create.go
執行程序代碼,輸出結果
1.3 update修改數據
接上1.2示例代碼,稍作更改即可,文件命名為postgres-update.go
執行程序代碼,輸出結果
1.4 delete刪除數據記錄
接上1.3示例代碼,稍作更改即可,文件命名為postgres-delete.go
執行以上程序代碼,執行輸出結果
至此到這里關於golang操作數據庫postgresql就告一段落了,收工。
代碼已上傳到github:https://github.com/dongguangming/golang-learn/tree/master/go-postgresql
注:由於我沒有用可視化編程工具,是用vi編寫的go代碼,請你們自行排版其結構。
參考:
-
Postgresql 密碼設置 http://www.mamicode.com/info-detail-1977540.html
-
golang連接postgresql數據庫 https://msd.misuland.com/pd/3181438578597038522
-
cannot find module providing package github.com/xxx: working directory is not part of a module https://www.sunzhongwei.com/cannot-find-module-providing-package-githubcomxxx-working-directory-is-not-part-of-a-module
-
SSL is not enabled on the server https://stackoverflow.com/questions/21959148/ssl-is-not-enabled-on-the-server
-
Resolve "FATAL:no pg_hba.conf entry for host" Error when you Connect from PGAdmin4 https://www.cisco.com/c/en/us/support/docs/cloud-systems-management/cloudcenter/212585-resolve-fatal-no-pg-hba-conf-entry-for.html
-
Connect to PostgreSQL and Run a Query https://golangcode.com/postgresql-connect-and-query/
-
golang postgresql CRUD https://www.cnblogs.com/ibgo/p/6010245.html
-