C#怎么连接PostgreSQL C# Npgsql驱动程序连接PostgreSQL数据库

来源:这里教程网 时间:2026-02-21 17:31:06 作者:

要在C#中连接PostgreSQL数据库,最常用的方式是使用Npgsql驱动程序。Npgsql是一个开源的.NET数据提供程序,专为PostgreSQL设计,支持ADO.NET和Entity Framework Core。

1. 安装Npgsql包

在项目中使用Npgsql之前,需要通过NuGet安装对应的包。

你可以通过以下任一方式安装: 在Visual Studio的“包管理器控制台”中运行:

Install-Package Npgsql

或者在.NET CLI中执行:

dotnet add package Npgsql

2. 连接字符串配置

连接PostgreSQL需要一个正确的连接字符串,基本格式如下:

Host=your_host;Port=5432;Database=your_db;Username=your_user;Password=your_password;

例如:

Host=localhost;Port=5432;Database=testdb;Username=postgres;Password=123456;

如果使用SSL,可以添加:

sslmode=Prefer 或 sslmode=Require

3. C#代码示例:建立连接并执行查询

下面是一个简单的C#示例,展示如何连接PostgreSQL并查询数据:

using System;
using Npgsql;
class Program
{
    static void Main()
    {
        string connectionString = "Host=localhost;Port=5432;Database=testdb;Username=postgres;Password=123456;";
        using (var connection = new NpgsqlConnection(connectionString))
        {
            try
            {
                connection.Open();
                Console.WriteLine("连接成功!");
                using (var cmd = new NpgsqlCommand("SELECT version()", connection))
                {
                    var result = cmd.ExecuteScalar();
                    Console.WriteLine("PostgreSQL 版本: " + result);
                }
            }
            catch (Exception ex)
            {
                Console.WriteLine("连接失败: " + ex.Message);
            }
        }
    }
}

4. 常见注意事项

确保PostgreSQL服务正在运行,并且允许来自客户端的连接(检查pg_hba.conf和postgresql.conf)。 如果连接远程数据库,确认防火墙开放了5432端口。 使用
using
语句确保连接正确释放。
生产环境中建议将连接字符串存储在配置文件或环境变量中,不要硬编码。 基本上就这些。Npgsql使用起来和标准ADO.NET类似,掌握连接字符串和基本操作后很容易上手。

相关推荐

热文推荐