You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

如何在PowerShell ISE中连接本地PostgreSQL服务器并执行指定SQL查询

在PowerShell中连接本地PostgreSQL并执行SQL函数的方法

前提准备

首先需要安装PostgreSQL的PowerShell模块Npgsql,打开PowerShell ISE(以管理员权限运行),执行以下命令:

Install-Module -Name Npgsql -Force -AllowClobber

如果提示需要信任仓库,按提示确认即可。

连接数据库并执行SQL函数的脚本示例

以下是完整的PowerShell脚本,用于连接指定的PostgreSQL服务器、数据库,并执行你提供的两个SQL函数:

# 加载Npgsql模块
Import-Module Npgsql

# 数据库连接参数
$serverName = 'test123'
$databaseName = 'IdentityAdmin_Shore'
# 如果你的PostgreSQL设置了用户名密码,取消下面两行注释并填写对应值
# $username = '你的用户名'
# $password = '你的密码'

# 构建连接字符串
$connectionString = "Server=$serverName;Database=$databaseName;"
# 如果需要验证,使用这个连接字符串:
# $connectionString = "Server=$serverName;Database=$databaseName;User Id=$username;Password=$password;"

# 创建连接对象
$connection = New-Object Npgsql.NpgsqlConnection($connectionString)

try {
    # 打开连接
    $connection.Open()

    # 定义要执行的SQL语句
    $sql = @"
select UserAndRoleInsert('test@email.com','VesselName','Master','Vessel Master');
select ClientInsert();
"@

    # 创建命令对象
    $command = New-Object Npgsql.NpgsqlCommand($sql, $connection)

    # 执行SQL并获取结果
    $reader = $command.ExecuteReader()

    # 处理查询结果(如果函数有返回值的话)
    while ($reader.Read()) {
        Write-Host "函数执行成功,返回值:$($reader[0])"
    }

    # 关闭读取器
    $reader.Close()
}
catch {
    Write-Host "执行出错:$($_.Exception.Message)"
}
finally {
    # 确保连接关闭
    if ($connection.State -eq 'Open') {
        $connection.Close()
    }
    $connection.Dispose()
}

注意事项

  • 如果你的PostgreSQL服务器启用了密码验证,必须填写$username和$password参数,并使用带验证的连接字符串。
  • 执行脚本前请确保PostgreSQL服务处于运行状态,且本地能正常访问test123服务器。
  • 如果函数UserAndRoleInsert或ClientInsert有特定的返回结果,可以修改结果处理部分的代码来输出对应内容。

内容的提问来源于stack exchange,提问作者Muhammed Irshad

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.08.18 22:45:34