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用户的密码为指定的值。

配上一张成功的图片

相关推荐
云游19 分钟前
利用外部Postgresql及zookeeper,启动Apache Dolphinscheduler3.1.9
分布式·postgresql·zookeeper·apache·工作流任务调度
鬼才血脉31 分钟前
Linux(centos)安装 MySQL 8
linux·mysql·centos
guygg8839 分钟前
ubuntu手动编译VTK9.3 Generating qmltypes file 失败
linux·运维·ubuntu
JeffersonZU1 小时前
Linux/Unix 套接字Socket编程(socket基本概念,流程,流式/数据报socket,Unix domain socket示例)
linux·c语言·tcp/ip·udp·unix·gnu
Two_brushes.2 小时前
【linux网络】网络编程全流程详解:从套接字基础到 UDP/TCP 通信实战
linux·开发语言·网络·tcp/udp
夕泠爱吃糖2 小时前
Linux中的静态库和动态库
linux·运维·服务器
比奥利奥还傲.3 小时前
Linux运维安全新范式:基于TCPIP与SSH密钥的无密码认证实战
linux·运维·安全
果子⌂5 小时前
容器技术入门之Docker环境部署
linux·运维·docker
深度学习04075 小时前
【Linux服务器】-安装ftp与sftp服务
linux·运维·服务器
iteye_99397 小时前
让 3 个线程串行的几种方式
java·linux