CentOS安装Postgresql

PG基本安装步骤

  1. 安装postgresql:

    bash 复制代码
    sudo yum install postgresql-server
  2. 初始化数据库:安装完毕后,需要初始化数据库并创建初始用户:

    bash 复制代码
    sudo postgresql-setup initdb
  3. 启动和停止服务:

    bash 复制代码
    sudo systemctl start postgresql
    sudo systemctl stop postgresql
  4. 查看服务运行状态:

    bash 复制代码
    sudo systemctl status postgresql

下面是修改配置使本地Navicat连接远程数据库

  1. 确保PostgreSQL的配置文件允许远程连接。打开配置文件postgresql.conf,找到以下行并确保其被注释掉(即去掉前面的#字符)(默认位置:/var/lib/pgsql/data/postgresql.conf):

    复制代码
    # listen_addresses = 'localhost'

    将其修改为:

    复制代码
    listen_addresses = '*'

    保存文件并退出。

  2. 编辑pg_hba.conf文件,该文件用于配置允许进行身份验证和连接的客户端主机。找到以下示例行:

    在pg_hba.conf文件中找到类似以下的行:

    bash 复制代码
    # TYPE  DATABASE        USER            ADDRESS                 METHOD

    添加以下一行来允许所有IP地址的远程连接:

    bash 复制代码
    host    all             all             0.0.0.0/0               md5

    保存文件并退出。

  3. 重启PostgreSQL服务以使配置更改生效。在终端上执行以下命令:

    复制代码
    sudo service postgresql restart
  4. 确保您的防火墙允许通过PostgreSQL默认端口(通常为5432)进行连接。如果您使用的是iptables,请执行以下命令开放该端口:

    复制代码
    sudo iptables -A INPUT -p tcp --dport 5432 -j ACCEPT

    如果您使用的是firewalld,请运行以下命令:

    复制代码
    sudo firewall-cmd --zone=public --add-port=5432/tcp --permanent
    sudo firewall-cmd --reload

修改pg默认密码

  1. 检查/var/lib/pgsql/目录下是否有一个名为PG_VERSION的文件。该文件的存在表明PostgreSQL已经安装在您的系统上。

  2. 打开/var/lib/pgsql/data/pg_hba.conf文件,查找类似以下行的配置:

    复制代码
    # TYPE    DATABASE    USER    ADDRESS       METHOD
    local    all         all                   peer
    host     all         all    127.0.0.1/32   ident

    注意一下其中的METHOD列,看是否为ident或其他认证方法。

  3. 如果您找到了ident,说明身份验证方式是通过系统用户认证,而不是密码。在这种情况下,您可以使用系统用户登录到PostgreSQL。

  4. 如果METHODmd5或其他认证方法,但是您不知道初始密码,可以尝试使用以下命令重置密码:

    shell 复制代码
    sudo su - postgres
    psql -c "ALTER USER postgres WITH PASSWORD 'new_password';"

    请将new_password替换为您希望设置的新密码。这将更改postgres用户的密码为指定的值。

配上一张成功的图片

相关推荐
恣艺22 分钟前
Redis环境搭建指南:Windows/Linux/Docker多场景安装与配置
linux·windows·redis
boonya1 小时前
MySQL与PostgreSQL核心区别对比
数据库·mysql·postgresql
打不了嗝 ᥬ᭄1 小时前
【Linux】线程同步与互斥
linux·服务器·c++
ZYMFZ1 小时前
Linux系统 SELinux 安全管理与故障排查
linux·运维·安全
脚踏实地的大梦想家2 小时前
【Docker】P2 Docker环境构建准备:MacOS 与 Linux
linux·macos·docker
山城码农笑松哥2 小时前
国产凝思debian系Linux离线安装rabbitmq教程步骤
linux·debian·rabbitmq
抓饼先生2 小时前
C++ 20 视图view笔记
linux·开发语言·c++·笔记·c++20
狂浪天涯2 小时前
Android Security | SEAndroid 综述
linux
__如风__4 小时前
内网环境下ubuntu 20.04搭建深度学习环境总结
linux·服务器·ubuntu
学c语言的枫子4 小时前
Linux文件IO——系统IO
linux·运维·服务器