library('rpostgresql')
pgdriver <- dbdriver("postgresql")
key <- dbconnect(
pgdriver,host = "192.168.1.121", port = "5432", dbname = "test_project",
user = "postgres", password = "123456"
)
查詢含有中文的表時,可能報錯:
error in postgresqlexecstatement(conn, statement, ...) :
rs-dbi driver: (could not retrieve the result : 錯誤: 編碼"utf8"的字元0x0xc2 0xa0在編碼"gbk"沒有相對應值
)
解決方式:
查詢編碼格式,為gbk,而資料庫中為utf-8.
dbgetquery
(key, "show client_encoding")
client_encoding
1 gbk
設定連線編碼為utf-8
postgresqlpqexec
(con, "set client_encoding = 'utf-8'")
查詢成功, 但是顯示亂碼
temp <- dbgetquery(con,'select * from public."temp"')
head(temp)
class
company_name
1 姘戣惀 21涓栫邯涓嶅姩浜ф祼鐏炰竴鍙峰簵
2 姘戣惀 21涓栫邯涓嶅姩浜ф垚閮芥俯奼熷尯鍩\x9f
由於window下r的客戶端為gbk編碼,因此需要將utf-8 格式的資料轉回gbk格式才能正常顯示。可以通過icov函式進行轉碼。
temp
))
PostgreSQL連線問題
近日用postgresql和npgsql寫過程式,由於客戶數量有300多個,所以有的就連線不上了。調整了max connection為500,問題是解決了,可是記憶體使用也是猛漲。差了點資料,估計可通過兩個方面解決一下問題 postgresql的連線池,如pgbouncer 解決方法 1 在連線字串...
QT連線PostgreSQL步驟
1.編譯驅動 其次 在qt的src plugins sqldriver psql目錄下修改psql.pro,加入 includepath d postgresql 9.2 include libs d postgresql 9.2 lib libpq.lib 將postgresql對應的目錄加入 最...
nodejs連線postgreSQL資料庫
nodejs連線pg資料庫有兩種方式,一種是直接連線 操作 斷開 還有一種是使用連線池,這種方式可以有效提公升多併發的效率 下邊是使用兩種不同方式的測試 var pgopt require pg 使用連線池 function connectpgwithpool var pgpool new pgop...