navicat 连接不上服务器

navicat 连接不上服务器上的 postgresql 数据库,而pgadmin是可以的,奇怪吧

telnet 端口5432也是通的

网上查了一下,有人说是因为服务器关掉了ping导致的,

问了一下网管小哥,果然服务器的ping被关掉了

也许是因为navicat要先用ping测试一下服务器是否存在,如果没有反应就认为是unknown host

参考:https://blog.csdn.net/u011078141/article/details/88670096

linux 下用命令行操作postgresql数据库

用客户端如 navicat 操作 postgresql 数据库,进行查询等操作自然是直观,然而postgresql 配置有访问ip,有时本机ip变化后,连接服务端ip就受限,偶尔的一二个查询语句,还是直接在命令行进行操作来得直接。

#切换到postgres 用户

su postgres

#登录数据库

psql 
或者
psql -h 127.0.0.1 -p 5432 -d database -U postgres

#列出所有数据库
\l 或者 \list
#切换数据库
\c [数据库名]
#列出所有表 
\d
#断开连接
\q

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

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