document.writeln('');
当前位置:首页 > 云服务器

C#怎么连接PotgreSQL数据库 C#使用Npgql驱动教程

游戏科技网2026年09月14日 21:29云服务器70
最推荐使用 Npgsql 驱动连接 PostgreSQL,它专为 .NET 设计、开源高性能、支持 .NET 5+ 和 .NET Framework 4.6.1+;需通过 NuGet 安装,配置正确连接字符串并使用参数化查询防注入。

用 C# 连接 PostgreSQL 最常用、最推荐的方式就是使用 Npgsql —— 它是专为 .NET 设计的开源、高性能、完全兼容的 PostgreSQL 数据库驱动,支持 .NET 5/6/7/8、.NET Framework 4.6.1+ 和 .NET Standard 2.0+。

安装 Npgsql 包

在项目中引入 Npgsql,推荐用 NuGet 包管理器(Visual Studio 或命令行):

  • Visual Studio:右键项目 → “管理 NuGet 包” → 搜索 Npgsql → 安装最新稳定版(如 8.x)
  • 命令行(.NET CLI):dotnet add package Npgsql
  • 若需 Entity Framework Core 支持,额外安装:dotnet add package Npgsql.EntityFrameworkCore.PostgreSQL

配置连接字符串

PostgreSQL 连接字符串格式如下(关键参数要填对):

word-document-organizer

智能整理Word文档,自动排版、生成目录、统一样式,支持学术/商务/极简模板。

下载
Host=localhost;Port=5432;Database=mydb;Username=postgres;Password=mypassword;
  • Host:数据库服务器地址,本地可写 localhost 或 127.0.0.1;远程需填实际 IP 或域名
  • Port:默认是 5432,若修改过 PostgreSQL 的 postgresql.conf 需同步更新
  • Database:目标数据库名(需已存在)
  • Username/Password:数据库用户凭据,建议不用超级用户(如 postgres),而用最小权限账号
  • 可选增强:加 Pooling=true;(默认开启,提高性能)、SSL Mode=Require;(启用 SSL)

基础连接与查询示例

以下是最简可用的同步代码(控制台程序为例):

1

2

3

4

5

6

using Npgsql;

<p>string connString = "Host=localhost;Port=5432;Database=testdb;Username=appuser;Password=123456;";

using var conn = new NpgsqlConnection(connString);

conn.Open();</p><p>using var cmd = new NpgsqlCommand("SELECT version();", conn);

var version = cmd.ExecuteScalar();

Console.WriteLine($"PostgreSQL 版本: {version}");

  • 务必用 using 确保连接和命令对象被正确释放
  • 执行查询优先用 ExecuteScalar()(单值)、ExecuteReader()(多行结果)、ExecuteNonQuery()(INSERT/UPDATE/DELETE)
  • 涉及用户输入时,**必须使用参数化查询**防止 SQL 注入,例如:cmd.Parameters.AddWithValue("@name", name);

常见问题快速排查

连不上?先检查这几项:

  • PostgreSQL 服务是否运行?在终端执行 sudo systemctl status postgresql(Linux)或查看 Windows 服务
  • 用户是否有连接权限?确认 pg_hba.conf 中有对应 host 类型的访问规则(如 host all all 127.0.0.1/32 md5)
  • 防火墙是否放行 5432 端口?特别是云服务器(阿里云/腾讯云等)要检查安全组
  • 密码错误或数据库不存在会直接抛 NpgsqlException,捕获后打印 ex.Message 很有帮助
  • .NET 6+ 项目若报“找不到引用”,检查是否遗漏 using Npgsql; 或目标框架是否兼容(Npgsql 8 要求 .NET 6+)

基本上就这些。Npgsql 上手快、文档全、社区活跃,搭配 Dapper 或 EF Core 可进一步提升开发效率。不复杂但容易忽略细节——尤其连接字符串和权限配置。

“C#怎么连接PotgreSQL数据库 C#使用Npgql驱动教程” 的相关文章

5元云服务器:入门级新手首选

5元云服务器:入门级新手首选 我是一名刚毕业的大学生,对编程充满了热情,但现实总是骨感一些。刚踏入职场,我梦想着能独立开发一个网站或应用,却苦于没有足够的资源。买一台实体服务器太贵,租个虚拟空间又觉得门槛太高。直到有一天,我在网上偶然看到“5元云服务器”这个关键词,那一刻,我感觉就像黑暗中看到了一盏小灯——它便宜得几乎让人不敢相信,却可能就是通往梦想的第一步。 那天晚上,我点开了一个云服务网站,输…

1元买走一台云服务器,这种天上掉馅饼的事存在吗?

1元买走一台云服务器,这种天上掉馅饼的事存在吗? 那天,我在咖啡馆里刷手机,偶然看到一个广告:“只需1元,就能买走一台高性能云服务器!容量无限,稳定快速,适合创业和学习。”我的心跳突然加速了。作为一个刚毕业的大学生,我平时靠打工赚钱,偶尔做点小网站赚点外快。云服务器听起来很酷,能让我轻松托管项目,但1元?这简直像天上掉馅饼一样,太不可思议了。 我立刻分享了这个消息给我的朋友小李。他是个技术宅,平时…

云服务器低价惊天内幕,真的不坑吗?

云服务器低价惊天内幕,真的不坑吗? 你有没有过那种经历?正愁着要搭建一个网站或测试一个应用,偶然在某个广告平台上看到“云服务器低价促销,只需几十块钱一个月”这样的字样,瞬间心动,觉得这简直是天降福利。我也是,去年就想试试运气,结果呢?刚开始确实便宜得让人直呼惊喜,但用着用着,问题就来了。这让我开始怀疑,云服务器的低价,到底是不是真的不坑? 首先,低价云服务器的诱惑力,谁都能理解。想想看,作为一个小…

竟然有如此便宜的云服务器?

竟然有如此便宜的云服务器? 那天,我正坐在咖啡馆里,手里拿着笔记本电脑,本来想找个地方测试我的新网站。但我突然意识到,我需要一个稳定的服务器来托管它。过去,我一直以为云服务器至少要几百块钱一个月,结果一番搜索后,我愣住了——竟然有如此便宜的云服务器?有些服务商标价只要几十块钱就能用一个月,这简直是天方夜谭! 回想起来,去年我刚开始创业时,做了一个小型电子商务网站。起初,我用免费的共享主机,但速度慢…

2021年最全云服务器优惠大揭秘

2021年最全云服务器优惠大揭秘 嗨,大家好,我是小明,一个普通的小白领,最近我打算自己建个网站分享旅行照片和心得。刚开始,我觉得这挺简单的,但一查资料,就陷入了云服务器的世界。哈哈,别笑,我刚开始也觉得云服务器是高科技的东西,搞得我一头雾水。不过,2021年的时候,各大云服务商推出了不少优惠套餐,让我这个新手觉得机会来了。你想知道2021年云服务器优惠套餐有哪些吗?让我来和你分享我的经历。 回想…

10元云服务器:高性价比方案推荐

10元云服务器:高性价比方案推荐 去年,我刚开始创业,做了一个小网站,卖一些手工制品。那时候,我对技术一窍不通,但我知道网站需要一个地方来托管,不然怎么吸引客户?我预算很紧,每月只能拿出100块钱左右。刚开始,我试着用共享主机,结果不稳定,动不动就卡顿,还被黑客攻击过几次。我压力山大,总觉得自己的事业要夭折了。 有一天,我在网上偶然看到一个广告,说有“10元云服务器”,每月只要10块钱,就能提供基…