GoLand 2025.3 Help

如何从 GoLand 运行 PostgreSQL 查询

开始一个项目

创建 Go 项目

  1. 请选择 文件(F) | 新建(N) | 项目…

    或者,在 欢迎访问GoLand 对话框中,转到 新建 | 项目

  2. 新建项目 对话框中,从可用项目类型列表中选择 Go

  3. GOROOT 字段中,指定您的 Go 安装位置。 GoLand 通常会自动检测此位置。

    要更改或安装新的 Go SDK 版本,请点击 添加 SDK添加 SDK 图标 )并选择以下选项之一:

    • 本地 :使用本地系统中现有的 SDK。

    • 下载 :从官方存储库下载 Go SDK 版本。

  4. 点击 创建 以创建项目。

    与 Go 的集成

创建 Go 文件

  1. 要创建一个 Go 文件,请使用以下选项之一:

    • 项目 工具窗口中,右键点击项目的父文件夹,然后选择 新建(N) | Go 文件 Go 文件

    • 点击项目的父文件夹,按 Alt+Insert ,然后选择 Go 文件

    • 点击项目的父文件夹,然后转到 文件(F) | 新建(N) | Go 文件

  2. 新建Go 文件 对话框中,输入文件名并选择文件类型:

    • 空文件 — 创建一个空的 Go 文件。

    • 简单应用程序 — 创建一个带有预定义 main 函数的 Go 文件。

    创建 Go 文件

从存储库克隆文件

在此示例中,我们将使用以下两个存储库:Sakila 转储文件(https://github.com/DataGrip/dumps )和一个 Docker Compose 文件(https://github.com/DataGrip/datagrip-documentation)。 Sakila 存储库包含用于创建和填充 Sakila 示例数据库的 SQL 脚本。 Docker 存储库包含定义服务、网络和卷的 YAML 文件。

克隆存储库

  1. 选择 视图|工具窗口|终端 或按 Alt+F12

  2. 在终端中运行以下命令:

    git clone https://github.com/DataGrip/dumps.git
    git clone https://github.com/DataGrip/datagrip-documentation.git

    克隆的存储库的两个新文件夹将出现在 项目 工具窗口中。

    克隆存储库

运行一个 Docker 容器

在本教程中,我们将使用 Docker 基于 datagrip-documentation 存储库运行一个 PostgreSQL 容器。 在存储库的 Docker 目录中,您将找到 .env docker-compose.yml 文件。 .env 文件包含 PostgreSQL 服务的凭据。 docker-compose.yml 文件定义了服务的创建和配置方式。

服务名称出现在服务定义的第一行,在 JDBC URL 之上。 在我们的示例中,服务名称是 postgresql_12 ,JDBC URL 是: jdbc:postgresql://localhost:54333/guest?user=guest&password=guest

postgresql_12: # jdbc:postgresql://localhost:54333/guest?user=guest&password=guest container_name: postgresql_12 ports: - "54333:5432" image: postgres:12-alpine env_file: .env healthcheck: test: "exit 0"

要从命令行运行容器,请使用以下命令:

docker-compose up -d postgresql_12

在运行命令之前,请确保导航到包含 docker-compose.yml 文件的目录。

或者,您可以在 GoLand 中启用并使用 Docker 插件。

连接到 Docker 守护进程

  1. 按下 Ctrl+Alt+S 以打开设置,然后选择 构建、执行、部署 | Docker

  2. 点击 "添加"按钮 以添加 Docker 配置,并指定如何连接到 Docker 守护进程。

    连接设置取决于您的 Docker 版本和操作系统。

    连接成功 消息应出现在对话框的底部。

    Docker 连接设置

    有关在 Windows 或 macOS 上使用 Docker 时将本地路径映射到运行 Docker 守护进程的虚拟机的更多信息,请参阅 Windows 和 macOS 主机的虚拟机路径映射。 您将无法对映射本地路径之外的目录使用卷和绑定挂载。

    此表在 Linux 主机上不可用,在该主机上 Docker 本地运行,您可以将任何目录挂载到容器。

  3. 打开 服务 工具窗口(视图(V) | 工具窗口(T) | 服务Alt+8 ),选择已配置的 Docker 连接节点 Docker 节点 并点击 连接按钮 ,或从上下文菜单中选择 Connect

    与 Docker 连接的 Docker 工具窗口

    要编辑 Docker 连接设置,请选择 Docker 节点并点击工具栏上的 “编辑配置”按钮 ,或从上下文菜单中选择 Edit Configuration

    您还可以点击 添加服务菜单 并选择 Docker 连接 ,直接从 服务 工具窗口添加 Docker 连接。 如果您已配置 Docker contexts ,您可以选择 来自 Docker Contexts 的 Docker 连接 以添加相应的连接。

创建 Docker Compose 部署配置

  1. 项目 工具窗口(视图 | 工具窗口 | 项目 )中,找到 docker-compose.yml 文件,来自 克隆的存储库

  2. 点击边距中的 运行 图标。

    postgresql_12 容器将启动并出现在 服务 工具窗口中。

    创建 Docker Compose 部署配置

连接到数据源

根据数据库供应商(MySQL、PostgreSQL、Oracle),您需要创建相应的数据源连接。 在本教程中,我们将创建一个 PostgreSQL 连接。 如果您想连接到其他数据库管理系统(DBMS),请参阅 创建数据源

  1. 通过以下任一方式打开数据源属性:

    • 数据库 工具窗口工具栏上,点击 数据源图标数据源

    • 请按 Shift+Enter.

    打开数据源和驱动程序对话框
  2. 数据源和驱动程序 对话框中,点击 添加 图标 ("添加"图标 ),然后选择 PostgreSQL

  3. 请检查连接设置区域底部是否有一个 下载缺失的驱动文件 链接。 点击此链接下载与数据库交互所需的驱动程序。 有关直接下载链接,请参阅 JetBrains JDBC 驱动程序 页面。

    下载缺失的驱动文件链接

    下载的 JDBC 驱动程序的位置是 GoLand 配置目录

    您也可以使用您自己的数据库驱动程序,替代提供的驱动程序。 有关使用驱动程序连接到数据库的更多信息,请参阅 将用户驱动程序添加到现有连接

    如果没有 下载缺失的驱动文件 链接,那么您已经拥有了所需的驱动程序。

  4. URL 字段中,粘贴以下 JDBC URL:

    jdbc:postgresql://localhost:54333/guest?user=guest&password=guest

    您可以在 docker-compose.yml 文件中找到其他 DBMS 的 JDBC URL。 在文本编辑器中打开文件以查看可用的连接详细信息。

  5. (可选)在 名称 字段中,为连接输入一个自定义名称(例如,PostgreSQL)。

  6. 确保可以使用提供的详细信息建立数据库连接。 为此,请点击连接详细信息部分底部的 测试连接 链接。

    如果您遇到任何连接问题,请参考 无法连接到数据库 页面。

  7. (可选)默认情况下,仅检查并提供默认数据库和架构以供使用。 如果您还想使用其他数据库和架构,请在 架构 选项卡中选择它们以进行检查。

    数据源和驱动程序对话框中的 Schemas 选项卡
  8. 点击 确定 创建数据源。

与 PostgreSQL 的集成

运行转储文件

创建数据库结构

  1. 在项目(视图 | 工具窗口 | 项目 )工具窗口中,导航到 dump/postgres-sakila-db/postgres-sakila-schema.sql

  2. 右键点击 postgres-sakila-schema.sql 并选择 运行 postgres-sakila-schema.sql。 或者,打开文件并按 Ctrl+Shift+F10

  3. 编辑配置 对话框中,点击 添加 按钮,在 目标数据源/架构 窗格中选择 PostgreSQL

  4. 点击 运行 执行脚本。

    运行架构转储文件

将示例数据加载到数据库

  1. 在项目(视图 | 工具窗口 | 项目 )工具窗口中,导航到 dump/postgres-sakila-db 目录。

  2. 展开 postgres-sakila-db 目录。

  3. 右键点击 postgres-sakila-insert-data.sql 并选择 运行 postgres-sakila-insert-data.sql。 或者,打开文件并按 Ctrl+Shift+F10

  4. 编辑配置 对话框中,点击 添加 按钮并选择 PostgreSQL

  5. 点击 运行 执行脚本。

插入数据转储文件运行配置

从 Go 代码获取依赖项

要向 PostgreSQL 发出查询,我们将使用 sqlx 库,该库为 Go 标准 database/sql 包提供了一组扩展。 有关该库的更多信息,请参阅 GitHub 上的 sqlx

  1. 打开创建的 main.go 文件,并将 以下代码 从 GitHub 粘贴到其中。

  2. 将光标放在 "github.com/jmoiron/sqlx" 导入语句上,按 Alt+Enter 并选择 修复缺失的依赖项(go mod tidy)

运行您的代码

  • 要运行配置,请点击靠近 main 函数的边距中的 运行 图标(运行图标 ),然后选择 运行 'go build main.go'

    运行配置
最后修改日期: 2025年 12月 5日