postgresql简介

postgresql是一个功能非常强大的、源代码开放的客户/服务器关系型数据库管理系统(rdbms)。postgresql最初设想于1986年,当时被叫做berkley postgres project。该项目一直到1994年都处于演进和修改中,直到开发人员andrew yu和jolly chen在postgres中添加了一个sql(structured query language,结构化查询语言)翻译程序,该版本叫做postgres95,在开放源代码社区发放。

使用 nuget 安装组件

在 visual studio 中,项目上右键 -> 管理 nuget 程序包。搜索 postgresql。

有两个在顶部的,一个是针对 .net core 的,一个是针对 .net framework 的。

使用

就像操作 sql server 那样操作,只是几个类换一下。

sqlconnection ->  npgsqlconnection

sqldataadapter ->  npgsqldataadapter

sqlcommand ->  npgsqlcommand

对了,连接字符串类似:

坑一、未能加载文件或程序集 system.valuetuple

未能加载文件或程序集“system.valuetuple, version=4.0.0.0, culture=neutral, publickeytoken=cc7b13ffcd2ddd51”或它的某一个依赖项。系统找不到指定的文件。

一切就绪,可是提示上面这个错误,我写一个 system.valuetuple(注意不是 type) ,按 f12,向上追踪,发现我的版本是 4.0.3.0,对不上。

我的 .net framework 是 4.6.2,我不想调整我的 .net framework 版本,于是我 降 npgsql 的版本 ,降了好几个都不行, 后来降到 3.2.0,可以了。

坑二、不支持的认证模式

authentication method not supported (received: 10)

针对这个错误,在目录(参考): c:\program files\postgresql\13\data

打开 pg_hba.conf 。

这里配置了各种环境下怎么连接,我是 ipv4,我就找到 ipv4,看到 method 那列写的 scram-sha-256,将其改为 password ,成功。

关于这个文件的详细配置说明,可参考: https://www.postgresql.org/docs/9.1/auth-pg-hba-conf.html

当然,因版本不同,这个文件可能位于不同的目录,可通过sql shell 输入 show hba_file; 查看:

 

到此这篇关于.net 操作 postgresql遇到的问题的文章就介绍到这了,更多相关.net 操作 postgresql内容请搜索www.887551.com以前的文章或继续浏览下面的相关文章希望大家以后多多支持www.887551.com!