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

yizhihongxing

针对“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日

相关文章

  • C#操作MySql的方法是什么

    这篇文章主要讲解了“C#操作MySql的方法是什么”,文中的讲解内容简单清晰,易于学习与理解,下面请大家跟着小编的思路慢慢深入,一起来研究和学习“C#操作MySql的方法是什么”吧! 代码介绍 功能包含: 创建数据库 创建数据表 批量添加数据 MySql事务执行 清表 分页、模糊查询 代码实现 创建数据库 public void CreateDatabase…

    MySQL 2023年4月11日
    00
  • mysql中存储过程、函数的一些问题

    下面我将详细讲解“mysql中存储过程、函数的一些问题”的完整攻略。 存储过程和函数的定义 存储过程:一组为了完成特定功能的SQL语句集合。存储过程在创建后存储在数据库中,用户可以执行存储过程,而不需要重复编写SQL语句。 函数:一组为了完成特定功能的SQL语句集合,可以拥有输入、输出参数。函数与存储过程类似,都是一组SQL语句的集合,但函数必须有返回值。 …

    database 2023年5月22日
    00
  • docker安装Redis并设置密码 docker安装Redis并设置密码

    1.获取redis镜像 docker pull redis 指定版本号: docker pull redis:4.0.9     不加版本号默认获取最新版本,也可以使用 docker search redis 查看镜像来源     2.查看本地镜像  docker images   3.然后启动容器,做映射   ①创建配置文件目录存放redis.conf,文…

    Redis 2023年4月13日
    00
  • Android中数据库常见操作实例分析

    Android中数据库常见操作实例分析 在Android开发中,常常需要使用数据库进行数据的存储和管理。本文将针对Android中的数据库常见操作进行实例分析,包括创建数据库、创建数据表、插入数据、查询数据、删除数据等操作。 创建数据库 创建数据库的过程需要继承SQLiteOpenHelper类,重写onCreate()和onUpgrade()方法。 pub…

    database 2023年5月21日
    00
  • MySql 按时间段查询数据方法(实例说明)

    下面是 “MySql 按时间段查询数据方法(实例说明)” 的完整攻略: 1. 确定查询的时间范围 根据需求,确定查询时间范围。一般的查询时间范围有以下几种: 某一天内的数据 某一周内的数据 某一月内的数据 某一年内的数据 2. 使用SELECT语句进行时间段查询 使用SELECT语句可以实现按时间段查询数据。 查询某一天内的数据 假设我们需要查询2022年9…

    database 2023年5月22日
    00
  • tp5(thinkPHP5)框架连接数据库的方法示例

    下面是关于tp5框架连接数据库的方法示例的详细攻略: 1. 确定数据库配置 首先,在使用tp5框架连接数据库之前,需要确定你的数据库配置,主要包括以下几个方面: 数据库名称 数据库用户名 数据库密码 数据库主机地址(一般为localhost) 2. 编辑数据库配置文件 tp5框架中,已经为我们准备好了默认的数据库配置文件database.php,路径在 ap…

    database 2023年5月22日
    00
  • Adabas和Couchbase的区别

    Adabas和Couchbase是两个不同的数据库系统,它们有不同的特点和特性。下面将针对这两个数据库系统进行详细讲解他们的区别,包括数据结构、数据模型、数据访问、性能等方面的比较。 Adabas Adabas是一个关系数据库管理系统,它的特点是由其特有的数据结构ADAM(Adabas DAta Model)实现了高效的数据存取,以及高可靠性的事务处理。Ad…

    database 2023年3月27日
    00
  • dockerfile构建redis

    1.准备下载好的redis安装包.yum源:   [root@test test9]# ll总用量 1936-rw-r–r– 1 root root 396 9月 27 13:26 Dockerfile-rw-r–r– 1 root root 1975750 9月 18 09:14 redis-5.0.5.tar.gz             drw…

    Redis 2023年4月13日
    00
合作推广
合作推广
分享本页
返回顶部