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

配上一张成功的图片

相关推荐
秦jh_3 分钟前
【Linux】多线程(概念,控制)
linux·运维·前端
小酋仍在学习1 小时前
光驱验证 MD5 校验和
数据库·postgresql
keep__go1 小时前
Linux 批量配置互信
linux·运维·服务器·数据库·shell
矛取矛求1 小时前
Linux中给普通账户一次性提权
linux·运维·服务器
Fanstay9851 小时前
在Linux中使用Nginx和Docker进行项目部署
linux·nginx·docker
大熊程序猿2 小时前
ubuntu 安装kafka-eagle
linux·ubuntu·kafka
daizikui4 小时前
Linux文件目录命令
linux·运维·服务器
NikitaC4 小时前
ldconfig 和 LD_LIBRARY_PATH 区别
linux·c++
清源妙木真菌4 小时前
Linux:进程概念
linux