c#连postgresql出现不支持关键字: “provider”错误

c#连接postgresql 数据库,照着例子使用 SqlConnection 结果报出异常,System.ArgumentException:“不支持关键字: “provider”。”

SqlConnection Connection = new SqlConnection( GetConnectionString())

原来为了连接postgresql用的是OleDb连接,而SqlConnection 是专门用于SQL Server 的,所以出错。看来用c#的时候还是微软自己的全家桶比较方便。

使用 Sql 开头的对象,名称空间是:
System.Data.SqlClient

使用 OleDb 开头的对象,名称空间是:
System.Data.OleDb

ref: https://blog.csdn.net/l8487/article/details/2170843

python的关键字(保留字)keyword

写代码时,取名字是个技术活,然而在程序语言中总有些特殊的词语不能用来做变量名,这些词语就是传说中的关键字(保留字)keyword

各类语言的关键字(保留字)各不相同,像java中的package, abstract 也是。

那么在python中要怎么记呢,会不会一不小心就触雷?这真是个让人头大的问题

还好python比较以人为本,为大家贴心推出了keyword模块,通过 keyword.kwlist 可以列出全部的关键字,通过 keyword.iskeyword(‘ xx’) 可以判断这个字是不是关键字

import keyword
keyword.kwlist
[‘False’, ‘None’, ‘True’, ‘and’, ‘as’, ‘assert’, ‘async’, ‘await’, ‘break’, ‘class’, ‘continue’, ‘def’, ‘del’, ‘elif’, ‘else’, ‘except’, ‘finally’, ‘for’, ‘from’, ‘global’, ‘if’, ‘import’, ‘in’, ‘is’, ‘lambda’, ‘nonlocal’, ‘not’, ‘or’, ‘pass’, ‘raise’, ‘return’, ‘try’, ‘while’, ‘with’, ‘yield’]
keyword.iskeyword(‘else’)
True

为什么说“炒股”是最崇高的职业?

为什么说“炒股”是最崇高的职业?

1享受双休日和任何节假日。

2.每周20小时工作制,全球最低。自由时间多,弹性大。

3.日薪制,全部现金结算。工资从不拖延拖欠,每天凌晨12点后准时发放。

4.职业拓展空间大,不存在职业天花板,不退休永远在职。

5.始终与世界最先进的生产力保持高度结合。瞄准大数据、互联网、金融、人工智能、虚拟现实等一系列前沿科技。引导全球资源配置。

6.学习能力强,知识储备速度快,对人性的认知深刻,杀伐果断,具备应对各种复杂事情的全天候能力。

7.人际关系简单,没有生活琐碎的烦扰,崇尚简单、阳光、坦诚的生活气息,心态好,促进身心健康。

8.拥有全世界的最优质最安全的资产“现金”, 可以全球流动,变现能力独一无二。

9.足不出户,知晓天下,随时调动千军万马介入各种事端,从中获取合理利润。

win10下安装postgresql 11填坑记

按以前的经验,官网下载安装包后一路下一步,结果弹出一个框说没有安装完成!!

Problem running post-install step. Installation may not complete correctly. The database cluster initialisation failed.

打开本地服务一看确实没有postgresql的服务,其他倒是正常的pgadmin4,也有。连接localhost,果然连不上。

以为没有安装好,然后把程序删除,又装了一遍,还是不行。

难道是我的win10是家庭版??

网上找个激活码,升级到企业版吧。

再安装,还是同样的错误。

搜索网上文章,发现有可能是 data 目录没有权限,将此目录的权限调整为全部人都有所有权限。

进入到【pg安装目录】/bin下运行命令

initdb.exe -D ../data
输入启动服务器命令: pg_ctl -D ../data -l logfile start
出错!!
等待服务器进程启动 ....拒绝访问。
 已停止等待
pg_ctl: 无法启动服务器进程
检查日志输出.

用管理员身份启动命令行,还是同样的错误

重新运行安装程序,这次界面只有一个 postgresql server 的项可以选择,看起来可以了

成功安装!!原来只是data目录权限的问题

参考:https://blog.csdn.net/qq_42535651/article/details/90749096

https://stackoverflow.com/questions/46118851/unable-to-install-postgresql-on-windows-10

安装完成后出妖鹅子了,用客户端连接不上postgresql数据库, 提示角色postgres不存在,相当于数据库服务启动了,但是连不上。

打开计算机用户,发现此次安装并没有像以前一样创建一个postgres用户。神奇!

于是卸载postgresql, 先创建一个postgres用户,并将这个用户加入到Administrators和Power Users组。

重新启动计算机,然后用postgres用户登录后,进行安装。还是提示data目录没有权限,进入命令行输入以下命令。

>initdb.exe -D ../data

>pg_ctl -D ..\data -l e:\logfile.txt start

>psql postgres
创建超级用户
#create user root with superuser password '123';

停止服务

pg_ctl -D ..\data -l e:\logfile.txt stop

注册服务

pg_ctl.exe register -N “postgres11” -D ..\data

启动服务
sc start postgres11;

ref: https://www.cnblogs.com/zifeiy/p/10290309.html

ubuntu上手,添加新用户

1、创建新用户

sudo adduser username

2、增加管理sudo权限,方便作为常登录用户使用

sudo usermod -a -G sudo username

3、增加adm权限,方便查看/var/log日志目录

sudo usermod -a -G adm username

4、删除用户

#保留用户目录

sudo userdel username

#删除用户目录((/home/username/*)下全部文件

sudo userdel -r username