十月 28, 2023
摘要:在本教程中,您将学习如何在 DBeaver 中设置 PostgreSQL JDBC 驱动程序。
目录
您可以使用预先配置的数据库驱动程序,或者创建新的驱动程序。
DBeaver 中有一个预配置的 PostgreSQL JDBC 驱动程序。但有时您需要使用指定版本的驱动程序连接到数据库,该版本可能会比 DBeaver 中配置的版本旧或新。
您需要的只是数据库的 JDBC 驱动程序。剩下的就很容易了。
获取 JDBC 驱动程序
JDBC 驱动是一个可以连接某些本地或远程数据库服务器进行操作的 Java 程序。它通常提供了覆盖数据库 100% 功能所需的所有访问接口。JDBC 驱动程序通常由数据库供应商提供,以允许客户使用他们的数据库。
JDBC 驱动程序由一个或多个jar
文件组成。Jar 文件是一个包含程序代码和一些其他文件的库。您需要访问 PostgreSQL JDBC 驱动的下载页面,获取驱动程序的 jar 文件,然后将它们添加到 DBeaver。
在 DBeaver 中添加驱动配置
打开驱动管理器对话框
您可以从主菜单打开驱动管理器,或者也可以从数据库导航器下拉菜单中进入:
进入到驱动管理器对话框:
添加新的驱动程序
只需单击 “新建” 按钮,并创建一个新的驱动程序。在驱动程序编辑对话框中,您需要输入所有必需的信息:
主要参数
参数 | 描述 |
---|---|
驱动程序名称 | 驱动程序名称。这可以是任何你喜欢的名字 |
驱动类型 | 驱动提供方。在 99% 的情况下,您将需要通用驱动程序(JDBC 提供方) |
驱动类名 | JDBC 驱动类名。您可以从文档中获取它或在 jar 文件中找到它(请参阅 “查找类” 按钮说明) |
URL 模板 | 驱动程序 URL 模板。您可以将其留空。但在这种情况下,您需要准备好为每个连接设置 JDBC URL。最好定义一个有效的 URL 模板,这将大大简化连接的创建。详细说明请参见 “URL 模板”。 |
默认端口 | 默认数据库端口。您可以从文档中查找到它,或者将其留空。 |
嵌入式 | 可为无服务器数据库启用它。该标志会影响与网络/连接管理相关的一些配置选项 |
无需验证 | 这意味着驱动程序不需要身份验证(不显示用户/密码字段) |
类别 | 驱动程序类别,已弃用 |
ID | 驱动程序唯一 ID,可忽略它 |
描述 | 驱动程序描述,在某些对话框/向导中显示为提示 |
驱动库
这是 jar 文件、二进制库(dll 等)以及驱动程序所需的任何其他文件的列表。在大多数情况下,您只需要 jar 文件。单击 “添加文件” 添加单个 jar 文件,单击 “添加文件夹” 添加包含 Java 类/资源的文件夹,单击 “添加工件” 添加 Maven 依赖库配置(见下文)。
添加 jar 文件后,您将可以看到这些 jar 文件中找到的所有 JDBC 驱动程序类。只需单击 “查找类” 按钮,DBeaver 就会显示所有类。大多数情况下,驱动程序中只有一个驱动程序类。如果数量较多,则需要参考驱动程序的文档。
Maven 依赖库配置
DBeaver 可以直接从 Maven 仓库(它是 Java 库的全球公共仓库,这些库通常都是开源的)下载驱动程序 jar。如果您的数据库驱动程序发布在某个公共仓库上,您可以使用此功能。Maven 工件比普通 jar 文件更好,因为您可以查看所有现有驱动程序版本,并且可以在运行时更改驱动程序版本,而无需重新配置任何驱动程序属性。
要在现有驱动程序中添加和编辑工件,请选择 数据库 -> 驱动管理器 -> 选择驱动 -> 库。
要编辑现有驱动程序中的工件,请双击该库。要在现有驱动程序中添加工件,请单击添加工件。
对于添加工件,DBeaver 支持两种模式:依赖声明和手动声明工件。编辑工件仅支持手动声明工件模式。
依赖声明
该模式会解析输入的文本,并根据解析结果创建工件。它支持下面列出的多种输入格式。
支持的格式:
-
简短的 Gradle 描述
group:artifact_name:version
-
Maven
-
对于单个工件
<dependency> <groupId>group</groupid> <artifactId>artifact</artifactId> <version>version</version> </dependency>
-
对于多个工件
<dependencies> <dependency> <groupId>group</groupid> <artifactId>artifact</artifactId> <version>version</version> </dependency> <dependency> <groupId>group</groupid> <artifactId>artifact</artifactId> <version>version</version> </dependency> <dependency> <groupId>group</groupid> <artifactId>artifact</artifactId> <version>version</version> </dependency> <dependencies>
-
手动声明工件
它允许您手动设置参数。它允许您在每个对话框中仅添加一项。
保存驱动设置,添加连接
完成驱动程序配置后,只需按 “确定” 按钮即可。现在您可以创建连接。
如果稍后需要更改某些驱动程序属性,您可以直接从连接属性对话框访问它们:
URL 模板
JDBC 驱动程序使用 URL 来标识远程服务器 - 类似于经典的网页 URL 字符串。通常,URL 的形式为jdbc:vendor:host:port/database
,例如 ‘jdbc:postgresql:localhost:5432/postgres’。编辑这么长且不明显的字符串不是很方便。DBeaver 可以根据连接参数(如主机、端口等)构造此 URL。
例如,上面的 URL 模板为:jdbc:postgresql://{host}:{port}/{database}
,host、port 和 database 是您需要在连接配置页面上输入的参数。
支持的 URL 变量:
参数 | 描述 |
---|---|
{host} | 数据库服务器主机名 |
{port} | 数据库服务器端口号 |
{database} | 目标数据库名称 |
{server} | 目标服务器名称(很少使用) |
{folder} | 文件夹路径(在本地文件系统上)。用于嵌入式驱动程序 |
{file} | 文件路径(在本地文件系统上)。用于嵌入式驱动程序 |
高级设置
对于大多数驱动程序,您不需要更改任何高级属性。但在某些情况下,您可以将其用来调整驱动程序行为,例如为了更好的性能或用于结构修复。
主要参数
参数 | 描述 |
---|---|
驱动程序支持索引 | 驱动程序支持表索引 |
驱动程序支持存储代码 | 该驱动程序是否支持存储代码(存储过程、函数、包等) |
驱动程序支持引用 | 驱动程序支持表引用(外键) |
驱动程序支持 SELECT count(*) 子句 | 驱动程序支持 SELECT count(*) 子句 |
驱动程序支持视图 | 驱动程序支持表视图 |
拆分存储过程和函数 | 在不同目录下显示存储过程和函数 |
脚本分隔符 | 脚本中分隔 SQL 查询的文字 |
脚本分隔符重新定义器 | 重新定义脚本分隔符值的 SQL 子句 |
在查询语句后使用脚本分隔符 | 在每个 SQL 查询后保留 SQL 脚本分隔符 |
在 SQL 代码块后使用脚本分隔符 | 在 SQL 脚本代码块(BEGIN/END)之后保留 SQL 脚本分隔符 |
字符串转义字符 | 字符串中用于转义特殊符号的字符 |
元模型类型 | 元数据读取模型的类型 - 标准的或索引的 |
所有对象模式 | 所有元数据对象的 SQL 模式 |
省略目录 | 不要读取和使用目录(又称数据库)信息 |
省略单个目录 | 如果服务器上只有一个目录,则隐藏目录(数据库) |
省略模式 | 不要读取和使用模式信息 |
省略单一模式 | 如果服务器上只有一个模式,则隐藏模式 |
使用模式过滤器 | 当数据库不支持目录时,使用 JDBC 模式过滤器。否则,只需读取所有数据库模式,并在客户端进行过滤 |
省略类型缓存 | 不要使用驱动程序提供的数据类型 |
关机参数 | 数据库关闭 URL 参数 |
创建数据库参数 | 数据库创建 URL 参数 |
驱动程序支持多个结果集 | 驱动程序支持单个查询的多个结果集 |
驱动程序支持结果集限制 | 驱动程序支持多个结果集限制(最大行数) |
驱动程序支持结构缓存 | 驱动程序支持结构缓存读取。用于模式、列、键等信息 |
驱动程序支持 TRUNCATE 操作 | 驱动程序支持 TRUNCATE 命令。它比没有条件的 DELETE 快得多 |
查询 - 自定义驱动关联查询
参数 | 描述 |
---|---|
获取活动数据库 | 获取活动数据库名称的查询 |
设置活动数据库 | 更改活动数据库的查询 |
关闭数据库 | 关闭活动数据库连接的查询。用于一些嵌入式数据库 |
PING 查询 | 检查连接状态的查询 |
Dual 表名 | 用于表达式求值的虚拟 “DUAL” 表的名称 |
活动对象类型 | 可选对象的类型(模式、目录) |
驱动程序支持结果滚动 | 驱动程序支持结果集滚动 |
引用保留字 | 如果列名/表名与保留的 SQL 关键字冲突,则引用它们 |
在搜索查询中转义 LIKE 掩码 | 用于访问 JDBC 元数据 API。默认情况下启用,但对于某些(损坏的)驱动程序应禁用 |
DDL - 生成选项
参数 | 描述 |
---|---|
删除列的短语法 | 使用 “ALTER TABLE DROP 列名”,而不是标准语法 |
删除列 - 使用括号 | 使用 “ALTER TABLE DROP (列名)”,而不是标准语法 |
使用旧版 SQL 方言生成 DDL | 使用旧版 SQL 方言生成 DDL |
在 ALTER TABLE 查询中添加 COLUMN 关键字 | 在 ALTER TABLE 查询中,在关键字 ADD 之后、列名之前添加 COLUMN 关键字 |
格式化 - SQL 值格式
参数 | 描述 |
---|---|
时间戳格式 | 时间戳列的格式模式 |
日期格式 | 日期列的格式模式 |
时间格式 | 时间列的格式模式 |