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/article/718068.html

赞 (0)
百度地图GPS定位服务器如何设置,详细步骤是什么?
上一篇 2026年10月6日 21:49
dz cdn 头像怎么设置,discuz 头像不显示
下一篇 2026年6月2日 22:04

相关推荐

  • ASP.NET控件生命周期有哪些阶段?分步解析服务器控件执行完整流程

    ASP.NET 服务器控件的生命周期深度解析ASP.NET 服务器控件的生命周期是指控件从被实例化到最终从内存中销毁所经历的一系列有序步骤,核心在于控件在页面处理的每个关键阶段会触发特定事件,开发者通过在这些事件中编写代码,精确控制控件的初始化、数据加载、状态管理、呈现逻辑以及清理工作,深入理解并掌握这个生命周……

    2026年2月11日
    12950
  • 如何高效部署J2EE到专用服务器,有哪些关键步骤?

    j2ee在专用服务器上部署的核心路径是:环境准备、中间件安装、应用发布、配置调优四个步骤,其中中间件选择和应用服务器配置直接决定部署成败,专用服务器相比云虚拟主机,拥有完整CPU、内存和磁盘资源,适合部署企业级j2ee应用,整个流程不复杂,但每一步都有坑,本文把每个环节的关键操作和排查思路讲透,j2ee专用服务……

    2026年8月21日
    600
  • AIoT智能芯片是什么?AIoT芯片市场规模与发展趋势解析

    AIoT智能芯片作为人工智能与物联网融合的核心驱动力,其本质在于通过端侧算力的重构,实现数据的高效处理与实时决策,而非单纯依赖云端传输,核心结论在于:AIoT智能芯片不仅是硬件升级,更是物联网架构从“连接”向“智能”跃迁的关键基础设施,其选型与应用直接决定了智能设备的响应速度、隐私安全与能效比, 架构重构:从云……

    2026年3月14日
    11500
  • 服务器502报错怎么办?502 Bad Gateway错误原因及快速解决方法

    当服务器出现 502 Bad Gateway 错误时,最核心的解决方案是立即检查上游服务器(后端)的可用性、网络连接状态以及负载均衡器的配置,绝大多数情况下,该错误并非由用户端引起,而是服务器端资源耗尽、服务进程崩溃或网络链路中断导致的,解决此问题需遵循“先排查后端服务,再检查网络链路,最后优化配置”的优先级顺……

    程序编程 2026年4月19日
    14200
  • 轻量应用服务器怎么装win10

    轻量应用服务器安装Windows 10是可行的,但需要选择支持自定义镜像的云服务商,并按照挂载ISO、配置引导、安装驱动的流程操作,整个过程约30分钟,轻量应用服务器为什么能装Win10轻量应用服务器本质上是一台云服务器,只是底层资源(CPU、内存、带宽)做了差异化配置,便于用户快速部署轻量级业务,操作系统层面……

    2026年8月24日
    900
  • 广西第一次云通信热门是怎么回事?广西云通信平台哪家好用

    利用API接口将短信验证码、AI语音外呼及5G消息无缝嵌入业务系统,从而在2026年构建起高并发、低延迟的数字化客户触达闭环,随着数字经济的深入发展,传统的电话营销和纸质推广已难以满足现代企业的精细化运营需求,在广西,越来越多的中小企业开始转向云端通信解决方案,这不仅仅是技术的迭代,更是商业逻辑的重构,云通信不……

    2026年5月29日
    4600
  • AI养牛方案怎么样?智能养牛系统可靠吗

    AI养牛方案是目前畜牧业实现数字化转型的核心路径,其通过精准数据采集与智能决策分析,能够显著提升养殖效率、降低饲料成本并有效防控疫病风险,是现代化牧场实现降本增效的必由之路, 核心价值:从“经验养殖”向“数据驱动”跨越传统养牛模式高度依赖饲养员的主观经验,存在管理粗放、风险响应滞后等痛点,AI养牛方案利用物联网……

    2026年3月1日
    13500
  • AI图片编辑器哪个好用,免费AI修图软件推荐

    AI图片编辑器代表了图像处理领域的范式转变,通过深度学习技术将复杂的修图工作转化为简单的指令交互,极大地提升了视觉内容的生产效率与创意边界,这类工具不仅能够完成传统的修图任务,更能通过生成式AI实现无中生有的创作,是当前设计、摄影及电商行业不可或缺的生产力工具,其核心价值在于降低技术门槛的同时,赋予用户前所未有……

    2026年2月21日
    19300
  • AIoT试题有哪些?AIoT考试真题及答案解析

    掌握AIoT试题的核心考点与解题逻辑,是通往人工智能物联网领域专业认证的关键一步,核心结论在于:AIoT考核已从单一的技术理论转向场景化的综合应用,考生必须建立“云-边-端”一体化的知识架构,并具备解决实际工程问题的能力, 备考过程不仅仅是记忆知识点,更是对物联网架构设计与AI算法落地能力的全面重塑,AIoT知……

    2026年3月15日
    10700
  • AIoT新年如何走路?2026年AIoT行业趋势与前景

    2026年AIoT设备的“走路”并非物理移动,而是指数据在边缘计算节点与云端之间的高效流转与协同决策,核心在于通过低功耗协议优化和边缘智能算法,实现毫秒级响应与零延迟交互,AIoT新年如何走路:从连接走向智能的底层逻辑什么是AIoT的“走路”?在2026年的语境下,AIoT(人工智能物联网)已经不再是简单的“万……

    2026年6月12日
    4600

发表回复

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