psql如何通过指令登入数据库服务器?,登录命令有哪些?

psql通过指令登入数据库服务器,核心就一条命令:psql -U 用户名 -d 数据库名 -h 主机地址 -p 端口号,掌握参数组合后,无论本地还是远程都能轻松连上。

psql登录命令是什么?先记住这四条参数

很多刚接触PostgreSQL的朋友,第一次敲psql命令就卡在登录环节,其实这套指令的逻辑非常直白,你用psql连接数据库服务器,本质上就是告诉它四个信息:我是谁、去哪台机器、进哪个库、走哪个门。

PostgreSQL DBA快速上手教程第5讲--psql的使用和数据库基本管理维护
加载中
PostgreSQL DBA快速上手教程第5讲--psql的使用和数据库基本管理维护

psql基本语法拆解

psql的命令行格式如下:

psql [选项] [数据库名称]

实际使用中最常用的选项就是下面这几个:

  • -U 或 –username:指定连接数据库的用户名,比如PostgreSQL默认的管理员通常是postgres。
  • -d 或 –dbname:指定要连接的数据库名,如果不填,默认连接与用户名同名的数据库。
  • -h 或 –host:指定数据库服务器的主机地址,本地登录可以写localhost,远程登录写服务器IP或域名。
  • -p 或 –port:指定端口号,PostgreSQL默认是5432,如果服务器改了端口,这里必须对应。

举个本地登录的例子,你想用postgres用户连本机的mydb数据库:

psql -U postgres -d mydb -h localhost -p 5432

执行后系统会提示输入密码,密码正确就直接进入数据库交互界面,看到mydb=#这样的提示符就说明登录成功了,如果不加-d参数,会尝试连接和用户名相同的数据库,

psql -U postgres

这等价于尝试连接postgres这个数据库,而PostgreSQL安装后默认就有一个名为postgres的数据库,所以这条指令在本地基本都能直接进。

免密登录的便捷技巧

如果每次都要输密码嫌麻烦,业内专家指出可以将连接信息写入HOME目录下的.pgpass文件,格式是主机:端口:数据库:用户名:密码。

localhost:5432:mydb:postgres:我的密码

保存后记得用chmod命令设置文件权限为600,否则系统会忽略这个文件,此外还可以直接通过环境变量PGPASSWORD传递密码,但安全性较低,不建议生产环境使用。

psql怎么远程连接数据库?关键在host和port

远程登入数据库服务器是运维场景里的高频需求,不少人在本地连得好好的,一到远程就报错,here原因多半是只改了IP没注意端口和访问权限,psql远程连接和本地最大的区别在于,你需要明确指定服务器的公网或内网IP地址,并且确认服务器防火墙放行了5432端口。

远程连接的三种常见写法

第一种,直连IP地址,这是最常规的操作:

psql -U admin -d business_db -h 192.168.1.100 -p 5432

psql如何通过指令登入数据库服务器?,登录命令有哪些?

第二种,云服务器场景,带公网域名或弹性IP:

psql -U admin -d business_db -h ecs-example.aliyuncs.com -p 5432

第三种,不走默认端口,很多云数据库为了安全会把端口改成高位随机数:

psql -U admin -d business_db -h 10.0.0.5 -p 15432

远程连接前必查的三个配置文件

直接敲远程命令大概率会碰到两种情况:一是提示超时,二是提示密码验证失败,多数情况下不是命令写错了,而是服务器端没放行,按下面三步排查,一般都能解决。

第一步,检查postgresql.conf里的监听地址。 默认配置只监听localhost,远程访问必须把listen_addresses改为,然后重启PostgreSQL服务。

第二步,检查pg_hba.conf里的访问规则。 这个文件是PostgreSQL的准入白名单,需要在里面追加一行记录,让来自特定IP段的客户端使用md5或scram-sha-256方式认证,

host    all    all    192.168.1.0/24    scram-sha-256

第三步,确认云安全组或系统防火墙。 简米云、酷番云这类平台需要在控制台的安全组规则里放行5432端口,同时服务器本地的iptables或firewalld也要同步放行,缺一不可。

psql登录报错怎么办?五个高频坑一次说清

连接报错的提示信息看着吓人,其实翻来覆去就那几类原因,下面列出新手最容易踩的五个坑,每个都附上排错思路。

提示psql: error: could not connect to server

这句英文的意思是客户端压根没摸到数据库服务器,首先要确认服务器进程是不是活着,用pg_isready命令检测,如果返回accepting connections说明服务正常,接着ping一下服务器IP,再telnet测试端口通不通:

telnet 192.168.1.100 5432

如果telnet显示Connection refused,说明端口没监听或防火墙拦截了,重点排查我上文提到的三个配置文件。

提示password authentication failed

密码验证失败的提示很常见,先确认密码有没有输错,注意PostgreSQL密码是区分大小写的,如果确认密码无误还报错,那就要检查pg_hba.conf里对应记录的认证方式,有些系统装完默认是trust信任模式,不会要求密码,一旦改成md5或scram-sha-256就需要正确密码才能登录,特别提醒一句,PostgreSQL 14版本之后默认认证方式是scram-sha-256,而不是老版本的md5,很多教程没更新,照着旧文档改就会踩坑。

提示database “xxx” does not exist

这个报错很直白,你要连的那个数据库不存在,用psql -U postgres -l先列出服务器上所有数据库,看看名字是不是记错了,注意大小写和连字符。

提示psql: FATAL: no pg_hba.conf entry for host

服务器收到了请求,但pg_hba.conf里没有匹配到你的IP,解决方法是回到服务器上编辑pg_hba.conf,在文件末尾追加一行允许规则,然后执行

psql如何通过指令登入数据库服务器?,登录命令有哪些?

SELECT pg_reload_conf();让配置热生效,不用重启服务。

提示SSL connection required

新版PostgreSQL出于安全考虑,云厂商常强制开启SSL,如果客户端没配SSL参数就会报这个错,简单处理是在psql命令后面加一个sslmode=disable参数:

psql "host=192.168.1.100 port=5432 dbname=mydb user=admin sslmode=disable"

psql登录postgresql默认密码忘了怎么处理

忘记postgres用户的密码,这种事在测试环境太常见了,生产环境不建议用这种手段,但开发机或者内网测试库完全可以自救。

三步重置postgres密码

先找到服务器的pg_hba.conf文件,把local开头的认证方式临时改成trust,然后用系统用户postgres重新加载服务并登录:

sudo -u postgres psql

进入数据库后执行修改密码的SQL:

ALTER USER postgres WITH PASSWORD '新密码';

最后把pg_hba.conf重新改回md5或scram-sha-256,再执行一次SELECT pg_reload_conf();大功告成,整个过程耗时不到两分钟,唯一需要注意的是操作前确认当前环境允许重启服务。

用连接串一键登录

有些场景下你希望用一条命令同时带上用户名、密码、数据库和主机,可以写在连接串里,

psql postgresql://admin:mypass@192.168.1.100:5432/business_db

这种方式适合脚本自动化和CI/CD流水线,但连接串里的密码会暴露在命令历史中,建议只在受控环境使用,如果你用的是Windows的cmd或PowerShell,同样支持这套语法,不需要额外安装任何图形化工具。

psql退出和常用内指令

登录成功后很多人不知道该怎么退出,其实在psql交互界面输入q或者按Ctrl+D就能安全退出连接,既然聊到内指令,顺手整理几个高频操作:

  • l:列出所有数据库
  • dt:显示当前数据库的所有表
  • d 表名:查看表的详细结构
  • du:列出所有用户和角色
  • conninfo:查看当前连接信息
  • ?:查看所有psql命令的帮助

这些指令在排查问题时非常实用,比如你怀疑自己连错了库,敲一下conninfo就能看到当前会话连接的是哪个主机和数据库,省得来回切换。

psql连接参数对照表

为了让你可以快速查阅,下面把psql最核心的参数做成一览表,方便直接复制使用:

psql如何通过指令登入数据库服务器?,登录命令有哪些?

参数 作用 示例
-U 指定用户名 psql -U postgres
-d 指定数据库 psql -d mydb
-h 指定主机地址 psql -h 10.0.0.8
-p 指定端口 psql -p 5433
-W 强制提示输密码 psql -U admin -W
-c 执行单条SQL后退出 psql -U postgres -c “SELECT version();”
-f 执行SQL脚本文件 psql -U postgres -f backup.sql
-l 列出所有数据库 psql -U postgres -l

psql和pgAdmin怎么选?命令行到底强在哪

很多初学者习惯用pgAdmin图形界面点鼠标,等到上服务器排查问题才发现图形界面根本用不了,只能靠命令行,行业共识认为,命令行工具是排障的底线能力,图形界面能做的一切操作,psql几乎都能覆盖,而且脚本化操作更高效。

对比维度更直观一些:

  • 执行速度:psql秒开,pgAdmin需要加载Web服务或客户端
  • 资源占用:psql几兆内存,pgAdmin动辄几百兆
  • 自动化能力:psql适合写进shell脚本,pgAdmin只能手动操作
  • 运维场景:服务器只剩SSH时,psql是唯一选择

如果你每天要和数据库打交道,建议把psql作为主力工具,pgAdmin留作可视化查看数据表格时的补充,另外提一个使用细节,psql执行完SQL语句可以用timing开启耗时统计,每次查询完会显示毫秒数,优化慢查询时很好用。

记住这篇文章的核心结论:psql登入数据库服务器的完整路径就是psql -U 用户名 -d 数据库名 -h 主机 -p 端口,连接失败优先查pg_hba.conf、postgresql.conf和防火墙,这三个关卡任何一个没打通都登不进去,把这条命令链刻在脑子里,PostgreSQL的大门随时为你敞开。

psql登录相关常见问题解答

psql提示fe_sendauth: no password supplied怎么办?

这说明客户端连接时没有提供密码,检查你是不是用了-W参数强制输入密码,或者.pgpass文件里的格式有误,直接用psql -U 用户名 -d 数据库名 -h 主机地址交互式输入密码是最稳妥的方式。

psql的默认端口是什么?改了端口怎么找?

PostgreSQL的默认端口是5432,行业内几乎不会改动,如果确实改了,可以登录到服务器查看postgresql.conf里的port配置项,或者用cat /etc/postgresql/版本号/main/postgresql.conf | grep port快速定位。

同一台服务器上装了多个PostgreSQL实例怎么办?

多实例场景必须用不同端口区分,连接时使用-p 端口号指向不同实例,同时确认每个实例的postgresql.conf和pg_hba.conf独立配置,你可以用pg_lsclusters命令查看本机所有实例及其端口和状态。

首发原创文章,作者:王坚‌,如若转载,请注明出处:https://idctop.com/psql%e5%a6%82%e4%bd%95%e9%80%9a%e8%bf%87%e6%8c%87%e4%bb%a4%e7%99%bb%e5%85%a5%e6%95%b0%e6%8d%ae%e5%ba%93%e6%9c%8d%e5%8a%a1%e5%99%a8%ef%bc%9f%ef%bc%8c%e7%99%bb%e5%bd%95%e5%91%bd%e4%bb%a4%e6%9c%89/

赞 (0)
百度地图GPS定位服务器如何设置,详细步骤是什么?
上一篇 2026年10月6日 21:49
5u服务器散热器多少钱?,散热器价格行情如何?
下一篇 2026年10月6日 21:56

相关推荐

  • 如何看服务器名字知道几个CPU?,服务器CPU核数怎么查

    服务器名字本身通常不直接显示CPU数量,想要知道有多少个CPU,最可靠的方法是登录服务器操作系统,通过系统命令或管理工具直接查询,很多朋友在租用或管理服务器时,第一反应是看服务商给的“服务器名字”,高配-8核16G”或者“香港-16C24G”,这个名字确实能反映一部分信息,但仅限于服务商自定义的规格标签,一旦你……

    2026年10月3日
    000
  • 简米云怎么查境内服务器IP地址?,服务器IP地址怎么查?

    登录阿里云控制台,进入云服务器ECS实例列表页面,即可直接看到每台境内服务器的公网IP和私网IP,这是查询服务器IP最直接的路径,不需要安装任何工具,也不需要敲命令,对于刚接触云主机的用户,搞清楚IP在哪看、怎么看,是管理服务器的第一步,阿里云控制台怎么查看服务器ip地址打开浏览器访问阿里云官网,完成登录后,鼠……

    2026年10月6日
    000
  • 服务器插U盘启动不了怎么办,是什么原因造成的

    服务器插u盘不启动不了怎么办服务器插U盘无法启动,绝大多数情况不是U盘坏了,而是启动模式不匹配或引导方式不对,按“先软后硬”的顺序排查,多数问题能在十分钟内解决,服务器bios设置u盘启动不识别先分清两类情况开机按键和启动项调取方式不同服务器和普通电脑不一样,进入BIOS和临时启动项选择的按键各有差异,戴尔(D……

    2026年10月4日
    000
  • 第一次装MySQL怎么启动?,mysql服务启动失败怎么办

    第一次安装MySQL后,启动服务器并不是双击图标那么简单,Windows和Linux的启动方式、前置初始化步骤完全不同,如果你刚装完就急着敲命令,大概率会看到“服务名无效”或“找不到data目录”的报错,下面直接按系统分开讲,每一步都对应你屏幕上能看到的反馈,Windows下第一次安装MySQL怎么启动服务器W……

    2026年10月4日
    000
  • AI养牛方案好不好?AI养牛方案可靠吗?

    AI养牛方案不仅好,而且是现代畜牧业实现转型升级、降本增效的必经之路,其核心价值在于通过数据驱动替代传统的经验主义,实现养殖过程的精准化、智能化与高效化, 核心优势:从“凭感觉”到“看数据”的质变传统养牛模式长期依赖饲养员的经验,存在管理粗放、风险响应滞后等痛点,AI养牛方案的介入,从根本上解决了这些难题,精准……

    2026年3月2日
    12900
  • AI智能监控是什么,智能视频监控系统有什么用?

    AI智能监控是基于计算机视觉、深度学习及大数据分析技术,将传统被动视频记录转变为主动实时感知与预警的智能化系统,其核心本质在于赋予机器“看懂”视频画面内容的能力,从而实现从“事后追溯”向“事中干预”甚至“事前预防”的根本性跨越,在数字化转型的浪潮下,AI智能监控已不再局限于安防领域,而是成为了数据采集与业务决策……

    2026年2月17日
    15230
  • 三站如何查看安卓服务器,连接失败是什么原因

    “三站”和“安卓服务器”各自的常见含义三站怎么看安卓服务器,核心答案是:先区分你要看的是“客户端连接的机房节点”,还是“账号所在的游戏区服”,前者用抓包和日志验证,后者在应用内账号信息页和登录接口里就能确认,这两件事经常被混为一谈,导致有人抓了一晚上包,却始终没搞清自己到底在哪个区,“三站看安卓服务器”这个说法……

    程序编程 2026年10月21日
    000
  • cad如何转成excel,具体步骤是什么?

    将CAD图纸中的表格、清单或属性数据转移到Excel中,是工程人几乎每天都会遇到的需求,最稳妥的路径是:通过AutoCAD内建的“数据提取”功能或一款经过市场验证的第三方转换插件,结合图纸前处理,导出的结果能满足绝大多数造价统计和材料管理场景,核心是让源图纸的结构标准化,CAD转Excel表格格式错乱怎么办?原……

    2026年7月15日
    1500
  • 配置ipv6时无法连接到服务器怎么办,是什么原因?

    配置ipv6时无法连接到服务器,绝大多数情况下不是运营商没开通,而是设备的前缀获取方式、路由表或防火墙策略没跟上,先按”地址→路由→防火墙→DNS”的顺序排查,比盲目重启光猫有效得多,先从源头查:ipv6配置了连不上服务器,十有八九是地址没拿到很多人配完IPv6发现连不上,第一反应是重置路由器,其实不用那么折腾……

    2026年8月23日
    300
  • 深圳独立服务器租用怎么选才不会踩坑,哪家性价比高?

    选深圳独立服务器租用,核心不是比谁便宜,而是先看业务类型,再定配置、带宽、机房和售后,最后用测试与合同锁住稳定性, 如果你正在搜“深圳独立服务器租用怎么选才适合自己”,下面按价格、对比、场景、配置、机房、避坑的顺序,把决策路径拆开,深圳独立服务器租用价格多少钱一个月?先算清三笔账硬件、带宽、机房,成本到底花在哪……

    2026年10月8日
    100

发表回复

您的邮箱地址不会被公开。 必填项已用 * 标注