navicat 连接不上服务器上的 postgresql 数据库,而pgadmin是可以的,奇怪吧
telnet 端口5432也是通的

网上查了一下,有人说是因为服务器关掉了ping导致的,
问了一下网管小哥,果然服务器的ping被关掉了
也许是因为navicat要先用ping测试一下服务器是否存在,如果没有反应就认为是unknown host
参考:https://blog.csdn.net/u011078141/article/details/88670096
分享个人经验,保留阅读记录,做时间的朋友
navicat 连接不上服务器上的 postgresql 数据库,而pgadmin是可以的,奇怪吧
telnet 端口5432也是通的
网上查了一下,有人说是因为服务器关掉了ping导致的,
问了一下网管小哥,果然服务器的ping被关掉了
也许是因为navicat要先用ping测试一下服务器是否存在,如果没有反应就认为是unknown host
参考:https://blog.csdn.net/u011078141/article/details/88670096
#导出单张表
pg_dump -U postgres -t xxx pgdbname > ~/xxx.sql;
#导入命令
psql -U postgres(用户名) -d 数据库名(缺省时同用户名) < C:\fulldb.sql
用客户端如 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 数据库,照着例子使用 SqlConnection 结果报出异常,System.ArgumentException:“不支持关键字: “provider”。”
SqlConnection Connection = new SqlConnection( GetConnectionString())
原来为了连接postgresql用的是OleDb连接,而SqlConnection 是专门用于SQL Server 的,所以出错。看来用c#的时候还是微软自己的全家桶比较方便。
使用 Sql 开头的对象,名称空间是:
System.Data.SqlClient
使用 OleDb 开头的对象,名称空间是:
System.Data.OleDb
按以前的经验,官网下载安装包后一路下一步,结果弹出一个框说没有安装完成!!
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;