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

配上一张成功的图片

相关推荐
可涵不会debug20 分钟前
【Linux】信号知识三把斧——信号的产生、保存和处理
linux·运维·信号
jyan_敬言22 分钟前
【Linux】Linux命令与操作详解(一)文件管理(文件命令)、用户与用户组管理(创建、删除用户/组)
linux·运维·服务器·c语言·开发语言·汇编·c++
unix2linux1 小时前
Parade Series - SHA256
linux·python·mysql·shell
学思之道1 小时前
给Linux操作系统命令取个别名
linux·运维·经验分享·学习方法
GOTXX2 小时前
应用层协议HTTP
linux·网络·网络协议·计算机网络·http·fiddler
dong_beijing2 小时前
GO语言工程构建示例-mac和linux适用
linux·运维·服务器
小小工匠2 小时前
系统安全 - Linux /Docker 安全模型及实践
linux·安全·系统安全
2201_761199043 小时前
nginx 负载均衡1
linux·运维·服务器·nginx·负载均衡
suri ..3 小时前
【Linux】进程第三弹(虚拟地址空间)
linux·运维·服务器
害羞的白菜3 小时前
Nginx基础详解5(nginx集群、四七层的负载均衡、Jmeter工具的使用、实验验证集群的性能与单节点的性能)
linux·运维·笔记·jmeter·nginx·centos·负载均衡