Я пытаюсь запросить базу данных postgres, которую я установил локально на своей машине.Запрос базы данных Postgres - Clojure
Я создал файл
(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"})
Если я затем попытаться запросить базу данных, используя (в РЕПЛ)
(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 [GitHub] (https://github.com/clojure/java .jdbC# example-usage) вы должны определить что-то вроде '(def pg-db {: dbtype" postgresql " : dbname" mypgdatabase " : host" mydb.server.com " : пользователь" myuser " : пароль «секретный» : ssl true : sslfactory «org.postgresql.ssl.NonValidatingFactory»}) ' – wwajerowicz