关于解决kali系统启动PostgreSQL16服务错误方法

本文提供了解决Armitage在Kali中遇到连接问题的方法,包括检查db_status、定位编码错误、重启服务、重装并配置PostgreSQL16集群,确保正确链接和自启动设置。
摘要由CSDN通过智能技术生成

本解决办法基于博主自身实验学习所得,在使用Armitage是否出现无法连接的错误,端口错误,或者在kali运行db_status出现数据库无法连接的问题提出的一些解决办法,希望可以帮助到大家。必须看清楚自己的postgresql的版本为多少

出现:postgresql selected,no connection

又或出现:psql无法链接到服务器

一、解决方法

1、进入msfconsole

输入db_status查看数据库服务是否连接正常,正常如下图,不正常为no connection

首先排除编码错误,作者在这个地方设置好了仍然出错,但不排除问题是否出自这里,查看postgresql的日志文件,如果内容出现"ic messages": "en US.UTF-8"说明编码错误

cat /var/log/postgresql/postgresql-16-main.log    #查看日志文件

 找到en_US.UTF-8编码空格选择,回车确定即可,在重新启动服务

dpkg-reconfigure locales  ##修改编码
​
systemctl restart postgresql   ##重新启动服务

​

最后在使用msfdb reinit查看是否成功,作者仍然配置不成功,所以作者选择重新安装postgresql服务

msfdb reinit    #初始化

2、重装postgresql

卸载 PostgreSQL

sudo apt-get remove --purge postgresql

确认卸载完成后,安装 PostgreSQL
 

sudo apt-get update ##更新软件

sudo apt-get install postgresql    #安装postgresql

安装完成后,重新创建一个名为 "main" 的 PostgreSQL 16 集群,如果没有出现问题即跳至最后一步完成

sudo pg_createcluster 16 main --start

启动时出现Error: cluster configuration already exists,已经存在一个与指定的集群名称相同的集群配置

手动停止 PostgreSQL 16 服务

sudo systemctl stop postgresql@16-main

尝试手动杀死可能仍在运行的 PostgreSQL 进程

sudo pkill -u postgres

确保 PostgreSQL 进程已经停止后,手动删除残留的数据目录和配置文件
 

sudo rm -r /var/lib/postgresql/16/main

sudo rm -r /etc/postgresql/16/main

最后,再次尝试创建一个名为 "main" 的 PostgreSQL 16 集群

sudo pg_createcluster 16 main --start

最后

└─# sudo pg_createcluster 16 main --start 1 ⨯ Creating new PostgreSQL cluster 16/main ... /usr/lib/postgresql/16/bin/initdb -D /var/lib/postgresql/16/main --auth-local peer --auth-host scram-sha-256 --no-instructions

属于此数据库系统的文件宿主为用户 "postgres".

此用户也必须为服务器进程的宿主.

数据库簇将使用本地化语言 "zh_CN.UTF-8"进行初始化.

默认的数据库编码已经相应的设置为 "UTF8".

initdb: 无法为本地化语言环境"zh_CN.UTF-8"找到合适的文本搜索配置

缺省的文本搜索配置将会被设置到"simple" 禁止为数据页生成校验和. 修复已存在目录 /var/lib/postgresql/16/main 的权限 ... 成功 正在创建子目录 ... 成功 选择动态共享内存实现 ......posix 选择默认最大联接数 (max_connections) ... 100 选择默认共享缓冲区大小 (shared_buffers) ... 128MB 选择默认时区 ... America/New_York 创建配置文件 ... 成功 正在运行自举脚本 ...成功 正在执行自举后初始化 ...成功 同步数据到磁盘...成功 Ver Cluster Port Status Owner Data directory Log file 16 main 5432 online postgres /var/lib/postgresql/16/main /var/log/postgresql/postgresql-16-main.log

完成,进入msfconsole输入db_satus查看是否正确链接,也可以查看5432端口是否在监听

成功后可以将服务设置为自启动,否则每次使用都必须开启服务

  • 18
    点赞
  • 21
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值