【发布时间】:2017-02-18 15:19:35
【问题描述】:
我正在尝试查询在我的机器上本地设置的 postgres 数据库。
我已经创建了一个文件
(ns website.db
(:require [clojure.java.jdbc :as jdbc]))
(def database
{:classname "com.postgres.jdbc.Driver"
:subprotocol "postgres"
:subname "mydb" ; In the guide this was //127.0.0.1:3306/mydb. Is the first part my computer IP address?
:user "admin"
:password "secret"})
如果我尝试使用(在 REPL 中)查询数据库
(jdbc/query database ["SELECT * FROM table"])
我收到错误ConnectException Connection refused java.net.PlainSocketImpl.socketConnect (PlainSocketImpl.java:-2)
注意我希望数据库是空的,因为我没有在数据库中输入任何信息
我在定义数据库时犯了什么错误?
插入用户是正确的:
(defn register-user! [db name]
(jdbc/insert! db :user {:name name}))
【问题讨论】:
-
根据 github 上官方 repo 上的示例 github 你的数据库定义应该类似于
(def pg-db {:dbtype "postgresql" :dbname "mypgdatabase" :host "mydb.server.com" :user "myuser" :password "secret" :ssl true :sslfactory "org.postgresql.ssl.NonValidatingFactory"})
标签: postgresql jdbc clojure