В данной статье собраны наиболее популярные проблемы АРМ Доверенность и методы их решения, также всяческие фишки и подсказки для системных администраторов, которые сопровождают данное ПО.
При первой установке
ПО АРМ Доверенность на сервер
— необходимо ставить
галочку на этапе установки Параметры подключения к базе данных

При обновлении
ПО АРМ Доверенность на сервере и на клиентах галочку НЕОБХОДИМО СНИМАТЬ
и указывать имя БД и порт, которые используются на сервере
При установке
на клиентах ПО АРМ Доверенность галочку также необходимо СНИМАТЬ
и указывать имя БД и порт, которые используются на сервере
В Администрирование — Общие настройки
необходимо указать строку соединения:
jdbc:postgresql://localhost:5432/fss
5432
— порт сервера Postgresql
Текущий адрес сервера TSP: http://testca2012.cryptopro.ru/tsp/tsp.srf
В Администрирование — Настройки сервисов ФСС
необходимо указать строку соединения:
https://sedo.fss.ru/sedo-gateway/api/soap/SedoGateway?wsdl
Сертификат уполномоченного лица ФСС https://lk.fss.ru/cert.html
необходимо установить в «другие пользователи».
В инструкции по установке сертификата ФСС на последней странице по этому поводу есть уточнение:
В поле «Сертификат» отображается перечень сертификатов, лежащих в реестре сертификатов в разделе «Другие пользователи».
Всем, кому понравился или помог это проект — Вы можете помочь ему развиваться материально:

Donate (помощь проекту)
Хочу подключиться к базе PostgreSQL
через jdbc
.
Создаю connection
public static Connection getPostgresConnection() {
try {
DriverManager.registerDriver((Driver)
Class.forName("org.postgresql.Driver").newInstance());
StringBuilder url = new StringBuilder();
url.
append("jdbc:postgresql://"). //db type
append("localhost:"). //host name
append("5432/"). //port
append("javaDB?"). //db name
append("user=postgres&"). //login
append("password=saw123"); //password
System.out.println("URL: " + url + "\n");
Connection connection = DriverManager.getConnection(url.toString());
return connection;
} catch (SQLException | InstantiationException | IllegalAccessException | ClassNotFoundException e) {
e.printStackTrace();
}
return null;
}
org.postgresql.util. PSQLException: FATAL: database «javaDB» does not
exist
вылетает в этой строке
Connection connection = DriverManager.getConnection(url.toString());
в dependency драйвер добавил.
Важно ли где находиться файл с базой?

1 золотой знак
26 серебряных знаков
48 бронзовых знаков
задан 16 янв 2016 в 0:31
Я думаю, что вам стоит перечитать главу Хорстамана про методы и аргументы методов.
Вы должны передать 3 аргумента:
вы же передаете только 1-й и в некорректной форме.
Вы его пытаетесь передать в виде REST запроса.
правильно будет:
Connection connection = DriverManager.getConnection("jdbc:postgresql://localhost:5432/javaDB","postgres", "saw123");
и заместь .append() проще использовать оператор +, он под капотом сделает тот же аппенд, но читать значительно легче.
ответ дан 16 янв 2016 в 2:53
4 бронзовых знака
В Вашем случае:
"jdbc:postgresql://localhost:5432/javaDB","postgres", "saw123"
.
Сделайте как здесь
. Можно и здесь
посмотреть, но здесь все в одну кучу, с непривычки можно запутаться.
И должно быть настроено подключение с IDE (и обязательно проверьте соединение в ней, postgresql — серверная БД, а не файловая, важен путь к ней, а не файл с базой), и драйвер postrges должен быть и там и в dependency.
ответ дан 16 янв 2016 в 1:37

23 золотых значка
80 серебряных знаков
125 бронзовых знаков
спросил 27 авг. 2010 в 8:43
postgresql://[user[:password]@][netloc][:port][/dbname][?param1=value1&...]
Вот примеры из того же документа
postgresql://
postgresql://localhost
postgresql://localhost:5432
postgresql://localhost/mydb
postgresql://user@localhost
postgresql://user:secret@localhost
postgresql://other@localhost/otherdb?connect_timeout=10&application_name=myapp
postgresql://localhost/mydb?user=other&password=secret

ответил 21 дек 2013 в 18:37
1 золотой значок
17 серебряных знаков
10 бронзовых знаков
const conString = "postgres://YourUserName:YourPassword@YourHostname:5432/YourDatabaseName";
ответ дан 9 окт. 2018 в 9:51

Хемадри Дасари
37 золотых значков
119 серебряных знаков
162 бронзовых знака
DATABASE_URL=postgres://{user}:{password}@{hostname}:{port}/{database-name}
9 золотых значков
61 серебряный знак
83 бронзовых знака
ответ дан 12 авг. 2019 в 18:23

1 золотой значок
33 серебряных знака
23 бронзовых знака
Здесь
— это документация по JDBC, общий URL-адрес — «jdbc:postgresql://host:port/database»
.
Если вы используете что-то другое, вам придется сообщить нам.
ответ дан 27 авг. 2010 в 8:53

58 золотых знаков
417 серебряных знаков
506 бронзовых знаков
URL-адрес подключения для postgres
синтаксис:
"Server=host ipaddress;Port=5432;Database=dbname;User Id=userid;Password=password;
"Server=192.168.1.163;Port=5432;Database=postgres;User Id=postgres;Password=root;
ответ дан 1 дек. 2016 в 4:17
server.address=10.20.20.10
server.port=8080
database.user=username
database.password=password
spring.datasource.url=jdbc:postgresql://${server.address}/${server.port}?user=${database.user}&password=${database.password}
ответ дан 3 дек 2020 в 11:00
3 серебряных значка
10 бронзовых знаков
Строку подключения также можно получить программно из рабочих коннекторов БД.
Например, я иногда извлекаю строки подключения из SQLAlchemy engine.
, вот так:
> db_engine.url
postgres://{user}:{password}@{host}:{port}/{db_name}?sslmode=require

1 золотой значок
11 серебряных знаков
18 бронзовых знаков
ответ дан 27 сен 2022 в 14:48
- Общий формат URL-адреса базы данных
DATABASE_URL=postgresql://username:password@host:port/dtabase_name
- Если вы используете postgresql sql с asyncpg, URL-адрес базы данных будет
DATABASE_URL=postgresql+asyncpg://username:password@host:port/dtabase_name
- Не забывайте никогда не сообщать пароль своей базы данных, поэтому вам следует использовать свой
DATABASE_URL
в.env
файлport
не является обязательным, если вы используете значение по умолчанию
Таким образом вы можете подключить как локальную, так и удаленную базу данных, подумайте об этом, когда захотите проверить проблему, возникающую в версиях, развернутых удаленно
ex для localhost DATABASE_URL будет
DATABASE_URL=postgresql+asyncpg://postgres:dina@localhost/mysens
- Если вы развернули свою базу данных на Heroku и хотите связать ее с локальным приложением, перейдите к установленному надстройке Heroku Postgres, перейдите в настройки, нажмите «Просмотреть учетные данные» в разделе «Учетные данные базы данных» и используйте
uri
для подключения к вашей базе данных
DATABASE_URL=postgresql+asyncpg://sqnalxxxxxxxxx:160xxxx2bdd2942b26c93c392xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx@ec2-35-173-91-114.compute-1.amazonaws.com:5432/del6o4cjoqfsov

ответил 20 фев в 20:57

ДИНА ТАКЛИТ
10 золотых значков
70 серебряных знаков
74 бронзовых знака
Некоторые люди ошибочно воспринимают имя базы данных как имя сервера, а хост — как сервер postgresql? На хосте размещен сервер postgresql с базой данных. Или я что-то упускаю.
my_host: может быть «localhost» (но об этом не идет речь) или IP-адрес хоста.
У меня работало на Python с sqlalchemy и работающим локальным хостом postgresql. Для работы необходимы sqlalchemy, postgresql и psycopg2.
ответ дан 17 дек 2022 в 19:24

4 золотых значка
57 серебряных знаков
90 бронзовых знаков
Я создал набор SQL-запросов, изменяющих базу данных, и теперь хочу их протестировать.
Как мне создать локальную и временную базу данных PostgreSQL для проверки моих запросов. Я работаю на Java.
спросил 30 окт. 2011 в 13:40
Вы МОЖЕТЕ создавать и удалять базы данных PostgreSQL через Java, используя объект Statement.
Connection c = DriverManager.getConnection("jdbc:postgresql://localhost:5432/", "username", "password");
Statement statement = c.createStatement();
statement.executeUpdate("DROP DATABASE mydb");

4 золотых значка
57 серебряных знаков
87 бронзовых знаков
ответ дан 24 марта 2014 в 11:18
5 серебряных знаков
14 бронзовых знаков
Создать базу данных достаточно просто, если у вас есть кластер базы данных.
Подключиться к базе данных технического обслуживания postgres
(установлен по умолчанию) и выпуск
CREATE DATABASE testdb;
База данных будет создана, и вы сможете подключиться к ней сейчас. Конечно, вам необходимо иметь необходимые привилегии для создания базы данных .
.
ответ дан 30 окт. 2011 в 14:24
Эрвин Брандстеттер
145 золотых знаков
1081 серебряный знак
1230 бронзовых знаков
Вы можете увидеть, как создать базу данных. Надеюсь, это поможет
- Что вы делаете, это подключаетесь к локальному хосту
- создайте sql «создайте базу данных your_db»
- выполнить
Сначала вы должны подключиться к локальному хосту
//STEP 1. Import required packages
import java.sql.*;
public class JDBCExample {
// JDBC driver name and database URL
static final String JDBC_DRIVER = "com.mysql.jdbc.Driver";
static final String DB_URL = "jdbc:mysql://localhost/";
// Database credentials
static final String USER = "username";
static final String PASS = "password";
public static void main(String[] args) {
Connection conn = null;
Statement stmt = null;
try{
//STEP 2: Register JDBC driver
Class.forName("com.mysql.jdbc.Driver");
//STEP 3: Open a connection
System.out.println("Connecting to database...");
conn = DriverManager.getConnection(DB_URL, USER, PASS);
//STEP 4: Execute a query
System.out.println("Creating database...");
stmt = conn.createStatement();
String sql = "CREATE DATABASE STUDENTS";
stmt.executeUpdate(sql);
System.out.println("Database created successfully...");
}catch(SQLException se){
//Handle errors for JDBC
se.printStackTrace();
}catch(Exception e){
//Handle errors for Class.forName
e.printStackTrace();
}finally{
//finally block used to close resources
try{
if(stmt!=null)
stmt.close();
}catch(SQLException se2){
}// nothing we can do
try{
if(conn!=null)
conn.close();
}catch(SQLException se){
se.printStackTrace();
}//end finally try
}//end try
System.out.println("Goodbye!");
}//end main
}//end JDBCExample
ответ дан 5 марта 2015 в 10:06
Ваш вопрос немного неверен: с помощью Java-кода вы не можете создать базу данных, вы можете просто подключиться к базе данных.
Вот код, который поможет вам создать таблицу в базе данных postgresql через JAVA
package database;
import java.sql.Connection;
import java.sql.DriverManager;
import java.sql.SQLException;
import java.sql.Statement;
import java.util.logging.Level;
import java.util.logging.Logger;
public class Database {
public static void main(String args[]) {
try {
Connection c = null;
Statement stmt = null;
try {
Class.forName("org.postgresql.Driver");
c = DriverManager.getConnection("jdbc:postgresql://localhost:5432/kanwar","postgres", "osm");
} catch (Exception e) {
e.printStackTrace();
System.err.println(e.getClass().getName()+": "+e.getMessage());
System.exit(0);
}
System.out.println("Opened database successfully");
try {
stmt = c.createStatement();
} catch (SQLException ex) {
Logger.getLogger(Database.class.getName()).log(Level.SEVERE, null, ex);
}
String sql = "CREATE TABLE MY_TABLE "+
"(ID INT NOT NULL,"
+ "NAME TEXT NOT NULL,"
+ "AGE INT NOT NULL)";
stmt.executeUpdate(sql);
stmt.close();
c.close();
} catch (SQLException ex) {
Logger.getLogger(Database.class.getName()).log(Level.SEVERE, null, ex);
}
catch(Exception e)
{
System.err.println( e.getClass().getName()+": "+ e.getMessage() );
System.exit(0);
}
System.out.println("Table Created Successfully");
}
}
Для полной справки: http://kodingpoint.blogspot.in/2014/01/java-postgresql-connectivity-example.html
ответ дан 10 фев 2014 в 18:01
1 золотой значок
2 серебряных значка
6 бронзовых знаков
В этом разделе описывается, как загрузить и инициализировать драйвер JDBC в ваших программах.
Импорт JDBC
Любой исходный файл, использующий JDBC, должен импортировать java.sql
пакет, используя:
Не следует импортировать
org.postgresql
package, если вы не используете расширения PostgreSQL® для JDBC API.
Загрузка драйвера
Приложениям не требуется явно загружать org.postgresql.Driver
class, поскольку jar драйвера pgJDBC поддерживает механизм поставщика услуг Java. Драйвер будет загружен JVM, когда приложение подключится к PostgreSQL® (при условии, что файл jar драйвера находится в пути к классам).
До версии Java 1.6 драйвер должен был быть загружен приложением: либо путем вызова
Class.forName("org.postgresql.Driver");
или передав имя класса драйвера в качестве параметра JVMjava -Djdbc.drivers=org.postgresql.Driver example.ImageViewer
Эти старые методы загрузки драйвера все еще поддерживаются, но они больше не нужны.
Подключение к базе данных
- jdbc:postgresql:база данных
- jdbc:postgresql:/
- jdbc:postgresql://хост/база данных
- jdbc:postgresql://host/
- jdbc:postgresql://хост:порт/база данных
- jdbc:postgresql://хост:порт/
port
= Номер порта, который прослушивает сервер. По умолчанию используется стандартный номер порта PostgreSQL® (5432).
Свойства системы
pgjdbc.config.cleanup.thread.ttl
(миллисекунды, по умолчанию: 30000). Драйвер имеет внутренний поток очистки, который отслеживает и очищает незакрытые соединения. Это свойство устанавливает продолжительность работы потока очистки, если очищать нечего.
Параметры подключения
Если свойство указано и в URL, и в Properties
объект, значение из Properties
объект игнорируется.
options
= Строка
Укажите параметр инициализации соединения «options», отправляемый на сервер PostgreSQL. Например, установив это значение-c statement_timeout=5min.
установит параметр таймаута запроса для этого сеанса равным 5 минутам.
см. Параметры подключения клиента по умолчанию
для получения подробной информации.
Значение этого свойства может содержать пробелы или другие специальные символы, и оно должно быть правильно закодировано, если оно указано в URL-адресе соединения. Пробелы считаются разделителями аргументов командной строки, если они не экранированы обратной косой чертой ( \
); \\
представляет собой буквальную обратную косую черту.
"-c search_path=test,public,pg_catalog -c Statement_timeout=90000"
sslmode (
Струна
)
По умолчаниюprefer
возможные значения включают
disable
,allow
,prefer
,require
,verify-ca
иverify-full
.require
,allow
иprefer
по умолчанию используется непроверяющая фабрика SSL и не проверяется достоверность сертификата или имени хоста.verify-ca
проверяет сертификат, но не проверяет имя хоста.verify-full
проверит правильность сертификата и удостоверится, что подключенный хост имеет то же имя хоста, что и сертификат. По умолчаниюprefer
Их установка потребует сохранения сертификата сервера на клиентском компьютере, см. Настройка клиента .
для получения подробной информации.
Этот параметр игнорируется при использовании ключей PKCS-12, поскольку в этом случае сертификат также извлекается из того же ключевого файла.
-
sslkey (
Строка
)
По умолчаниюdefaultdir/postgresql.pk8
Укажите полный путь к файлу ключа. По умолчанию
defaultdir/postgresql.pk8
. См. sslcert для defaultdir.
Файлы ключей PKCS-12 распознаются только в том случае, если они имеют расширение «.p12» (42.2.9+) или «.pfx» (42.2.16+).
Если у вашего ключа есть пароль, укажите его, используя sslpassword
параметр подключения описан ниже. В противном случае вы можете добавить флаг -nocrypt
приведенной выше команде, чтобы драйвер не запрашивал пароль.
Использование -v1 PBE-MD5-DES может быть неадекватным в средах, где необходим высокий уровень безопасности, а ключ не защищен другими средствами (например, контролем доступа ОС),
или файл ключа передается по недоверенным каналам. Мы зависим от поставщиков криптографии, предоставляемых средой выполнения Java. Известно, что решение, описанное здесь, работает на момент написания. Если у вас более строгие требования к безопасности, см. здесь .
за обсуждение проблемы и информацию о выборе лучшего набора шифров.
Такое поведение не совсем соответствует поведению libpq, которая по умолчанию использует библиотеки SSPI Windows для запросов Kerberos (GSSAPI) в Windows.
режим gssapi заставляет использовать GSSAPI JSSE, даже если доступен SSPI, что соответствует поведению до версии 9.4.
На платформах, отличных от Windows, или там, где SSPI недоступен, принудительное использование режима sspi завершится ошибкой с PSQLException.
Чтобы использовать SSPI с PgJDBC, вы должны убедиться, что waffle-jna
библиотека
и его зависимости присутствуют на CLASSPATH
. pgJDBC делает , а не
связка waffle-jna
в банке pgJDBC.
Unix-сокеты
Добавив junixsocket, вы можете получить фабрику сокетов, которая работает с драйвером.
Код можно найти здесь
и инструкции
здесь
Зависимости для junixsocket:
Для многих дистрибутивов путь по умолчанию — /var/run/postgresql/.s. PGSQL.5432
Аварийное переключение соединения
Для поддержки простого переключения соединения при сбое можно определить несколько конечных точек (пары хоста и порта) в соединении.
URL, разделенный запятыми. Драйвер попытается один раз подключиться к каждому из них по порядку, пока соединение не будет успешным.
Если ни одна из них не увенчалась успехом, выдается нормальное исключение соединения.
Синтаксис URL-адреса подключения: jdbc:postgresql://host1:port1,host2:port2/database
Простое переключение соединения полезно при работе с высокодоступной установкой Postgres, которая имеет идентичные
данные на каждом узле. Например, потоковая репликация postgres или кластер postgres-xc.
Например, приложение может создать два пула соединений.
Один источник данных предназначен для записи, другой — для чтения. Пул записи ограничивает соединения только основным узлом: jdbc:postgresql://node1,node2,node3/accounting?targetServerType=primary
.
А пул чтения балансирует соединения между вторичными узлами, но разрешает соединения также и с основным, если нет вторичных узлов.
имеются: jdbc:postgresql://node1,node2,node3/accounting?targetServerType=preferSecondary&loadBalanceHosts=true
Если вторичный сервер терпит неудачу, сначала будут опробованы все вторичные серверы в списке. В случае отсутствия доступных вторичных ресурсов
будет опробована первичная. Если все серверы в кеше помечены как «невозможно подключиться», то попытка
будет выполнено подключение ко всем хостам в URL-адресе по порядку.





