postgresql修改完端口后直接psql连接数据库报错的解决

针对“postgresql修改完端口后直接psql连接数据库报错”的解决方案,以下是完整攻略:

1. 查看端口

首先,建议使用如下命令查看 postgresql 当前正在使用的端口:

$ sudo netstat -tanpl | grep postgres

上述命令可以列出系统中正在占用端口的进程,若 PostgreSQL 正在运行,应该能看到相应端口(默认为 5432),如图所示:

tcp 0 0 127.0.0.1:5432 0.0.0.0:* LISTEN 2463/postgres

2. 修改 postgresql.conf 配置

如果需要修改 PostgreSQL 的端口,可以先找到 postgresql.conf 配置文件,通常位于 /etc/postgresql//main/(其中 为 PostgreSQL 版本号)目录下。使用文本编辑器打开 postgresql.conf 文件,找到以下行:

#listen_addresses = 'localhost' 
#port = 5432 

解除注释并将端口号修改成你想要的端口,如下所示:

listen_addresses = '*' 
port = 5433 

保存文件并重启 PostgreSQL 服务以使配置生效:

$ sudo service postgresql restart

这时候我们需要确认一下修改后的端口是否生效。可以再次执行第一步的命令查看对应端口是否变成了我们刚才修改的端口(例如上面的 5433)。

3. 修改 pg_hba.conf 配置

如果以上步骤仍然不能成功连接数据库服务,还需要检查 pg_hba.conf 文件(通常位于 /etc/postgresql//main/ 目录下)中的认证方式是否正确配置。

在该文件中,可以找到以下类似的行:

host    all             all             127.0.0.1/32            md5 

这一行表示允许来自 127.0.0.1 地址的所有用户以 md5 方式进行认证。如果我们修改了 listen_addresses 配置项为 *,那么可以添加一行类似下面的内容:

host    all             all             0.0.0.0/0                md5

其中 0.0.0.0/0 表示允许来自任意地址的所有用户连接,需要在此基础上加上正确的用户名和密码。

4. 示例说明

示例 1

假设我们需要将 PostgreSQL 监听的端口修改为 5433。修改完成后,使用以下命令重新启动 PostgreSQL 服务:

$ sudo service postgresql restart

然后执行以下命令检查端口是否修改成功:

$ sudo netstat -tanpl | grep postgres

如果成功修改,应该能看到输出中包含如下行:

tcp 0 0 0.0.0.0:5433 0.0.0.0:* LISTEN 2473/postgres

示例 2

假设我们已经成功将 PostgreSQL 监听的端口修改为 5433,并且在 pg_hba.conf 文件中添加了以下行:

host    all             all             0.0.0.0/0                md5

现在我们可以使用 psql 命令连接到本地的 PostgreSQL 数据库,具体命令如下:

$ psql -h localhost -p 5433 -U postgres

然后输入 PostgreSQL 的超级用户 postgres 的密码,即可登录到数据库服务器。

本站文章如无特殊说明,均为本站原创,如若转载,请注明出处:postgresql修改完端口后直接psql连接数据库报错的解决 - Python技术站

(0)
上一篇 2023年5月19日
下一篇 2023年5月19日

相关文章

  • python使用pipeline批量读写redis的方法

    下面是关于“python使用pipeline批量读写redis的方法”的完整攻略: 什么是Pipeline 在使用redis进行批量操作时,通常我们会采用pipeline方法,也称作管道,可以将多次操作组合成一个批次执行,极大地提升了redis的操作效率。Python的redis模块中也提供了pipeline支持,可以使用pipeline对象进行批量操作。 …

    database 2023年5月22日
    00
  • mysql多主双向和级联复制

    MySQL多主双向复制 概念 MySQL多主双向复制是指多个MySQL节点在一个环形拓扑结构内进行主从复制。每个节点既可作为主节点,也可作为从节点,同时在同一时间只能存在一个主节点。 环境要求 MySQL版本需 >= 5.6.0 每个MySQL节点需在不同的服务器上 操作步骤 对于每个MySQL节点,配置my.cnf,打开bin-log并设置serve…

    database 2023年5月22日
    00
  • sql和MySQL的语句执行顺序分析

    那么我们来详细讲解一下“SQL和MySQL的语句执行顺序分析”的完整攻略。 一、SQL和MySQL的语句执行顺序 在分析SQL和MySQL的语句执行顺序之前,我们首先需要了解下一些基本概念: 查询语句由多个关键字组成,比如SELECT、FROM、WHERE等,这些关键字一起构成了一条完整的SQL语句。 SQL语句的执行顺序是从右到左。 SQL语句的执行顺序是…

    database 2023年5月21日
    00
  • shell脚本一键安装MySQL5.7.29的方法

    下面是关于“shell脚本一键安装MySQL5.7.29的方法”的完整攻略: 1. 环境准备 首先需要安装Linux系统(CentOS、Debian等),并确保拥有系统管理员权限。然后需要安装wget工具、tar压缩工具和gcc编译器: # 安装wget和tar sudo yum install wget tar -y # 适用于基于CentOS的系统 su…

    database 2023年5月22日
    00
  • MongoDB查询操作限制返回字段的方法

    当我们使用MongoDB进行数据查询时,有时候并不需要返回所有文档中的所有字段信息,而是需要仅返回部分字段信息。这时可以通过限制返回字段的方式来提高查询效率和减少数据传输量。下面是MongoDB查询操作限制返回字段的具体方法: 1. 使用投影操作符 投影操作符($project)可以在查询时仅返回指定的字段。具体语法如下: db.collection.fin…

    database 2023年5月21日
    00
  • redis学习笔记 – Pipeline与事务

    Redis提供了5种数据结构,但除此之外,Redis还提供了注入慢查询分析,Redis Shell、Pipeline、事务、与Lua脚本、Bitmaps、HyperLogLog、PubSub、GEO等附加功能,这些功能可以在某些场景发挥很重要的作用.  https://segmentfault.com/a/1190000011440752 Pipeline …

    Redis 2023年4月13日
    00
  • MongoDB基础命令以及操作示例详解

    MongoDB是一种开源、高性能、无模式的文档型数据库,使用它可以快速存储和检索大量数据。下面是MongoDB最基本的命令和操作示例。 MongoDB基础命令 连接到MongoDB 可以通过命令行连接到MongoDB数据库。首先打开命令行窗口,输入下面的命令来连接到MongoDB实例: mongo –host {host} –port {port} –…

    database 2023年5月21日
    00
  • 在ASP.NET 2.0中操作数据之五十四:添加新记录时包含一个文件上传选项

    在ASP.NET 2.0中添加新记录时包含一个文件上传选项的过程包括以下几步骤: 在ASP.NET页面中添加FileUpload控件 在代码中处理上传文件并保存到服务器 将上传文件的路径保存到数据库中 下面将详细讲解每一步骤的具体操作: Step 1. 在ASP.NET页面中添加FileUpload控件 在ASP.NET页面中添加FileUpload控件,以…

    database 2023年5月21日
    00
合作推广
合作推广
分享本页
返回顶部