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日

相关文章

  • 用PHP和Shell写Hadoop的MapReduce程序

    用PHP和Shell编写Hadoop的MapReduce程序需要遵循以下步骤: 1.编写Mapper和Reducer代码:Mapper和Reducer是Hadoop编程中最核心的两个部分。通常使用Java编写MapReduce程序,但是使用PHP和Shell编写也是可以的。Mapper的代码负责将输入文件中的每一个元素转换成键值对,Reducer的代码则负责…

    database 2023年5月22日
    00
  • MySQL8设置自动创建时间和自动更新时间的实现方法

    下面是详细讲解 MySQL8 设置自动创建时间和自动更新时间的实现方法的攻略: 1. 添加创建时间和更新时间字段 首先,在需要添加自动时间戳的表中,添加两个字段:created_at 和 updated_at,分别记录记录创建时间和更新时间。可以使用以下 SQL 语句进行添加: ALTER TABLE table_name ADD created_at TI…

    database 2023年5月22日
    00
  • 常用的SQL例句 数据库开发所需知识

    针对常用的SQL例句和数据库开发所需知识,我可以提供如下攻略: SQL语句基础 数据库和表的管理 创建数据库: CREATE DATABASE mydatabase; 删除数据库: DROP DATABASE mydatabase; 创建表: CREATE TABLE mytable ( id INT PRIMARY KEY, name VARCHAR(30…

    database 2023年5月22日
    00
  • mysql sql语句性能调优简单实例

    MySQL SQL语句性能调优是MySQL优化的一个重要方面,通常是通过优化SQL语句,使其执行效率更高,提升MySQL数据库的性能。下面是一个MySQL SQL语句性能调优的简单实例攻略,包含以下步骤: 1. 编写测试SQL语句 在调优之前,需要编写测试SQL语句,并通过MySQL的EXPLAIN命令查看其执行计划,了解语句执行的具体过程。下面是一个简单的…

    database 2023年5月22日
    00
  • SQL语句优化之JOIN和LEFT JOIN 和 RIGHT JOIN语句的优化

    SQL语句优化之JOIN和LEFT JOIN 和 RIGHT JOIN语句的优化 在进行SQL语句优化时,JOIN和LEFT JOIN 和 RIGHT JOIN语句的优化是比较重要的一部分。下面我们将详细介绍如何优化这些语句。 1. JOIN语句的优化 当使用JOIN语句时,我们最好使用INNER JOIN,因为它可以避免重复数据的出现。使用INNER JO…

    database 2023年5月19日
    00
  • extundelete实现Linux下文件 文件夹数据恢复教程

    下面是“extundelete实现Linux下文件 文件夹数据恢复教程”的完整攻略。 一、准备工作 在使用extundelete前,需要做一些准备工作。 1.备份 在恢复文件或文件夹之前,务必备份磁盘上的数据,以免造成更大的损失。 2.停止写入 在文件或文件夹丢失后,为了避免数据被覆盖,需要尽快停止对磁盘的写入操作。 3.安装extundelete 在Ubu…

    database 2023年5月22日
    00
  • MongoDB管理数据关系的3种方法

    MongoDB是一种非关系型数据库,用于存储和管理大量的、格式不固定的数据。MongoDB提供了一种灵活的数据模型,使得您可以轻松地存储和访问数据,而无需事先定义表结构。 在MongoDB中,关系的管理不同于传统的关系型数据库,因为它是基于文档的存储模型。 本文将详细介绍MongoDB中的关系管理,包括文档嵌套、引用和聚合等技术。 文档嵌套 文档嵌套是Mon…

    MongoDB 2023年3月14日
    00
  • SQL 动态区间聚合运算

    SQL 动态区间聚合运算是一种在SQL中使用窗口函数进行区间聚合操作的技术。它可用于计算一组数据的动态聚合值,例如移动平均值、累积和、累计计数等。下面,我将为您提供SQL动态区间聚合运算的完整攻略。 1. 概念介绍 SQL 动态区间聚合运算指的是一种基于窗口函数的动态聚合操作,通过在聚合函数中指定一个动态的窗口大小来计算一组数据的聚合值。这个窗口大小可以根据…

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