`

PostgreSQL 配置文件之pg_hba.conf

 
阅读更多

PostgreSQL  配置文件之pg_hba.conf

 

 

该文件用于控制访问安全性,管理客户端对于PostgreSQL服务器的访问权限,内容包括:允许哪些用户连接到哪个数据库,允许哪些IP或者哪个网段的IP连接到本服务器,以及指定连接时使用的身份验证模式。

 



 

TYPE 定义了多种连接PostgreSQL的方式,一般分为:

 

loca

使用本地unix套接字

 

host

使用TCP/IP连接(包括SSL和非SSL),host结合IPv4地址/结合IPv6地址

 

hostssl

只能使用SSL TCP/IP连接

 

hostnossl

不能使用SSL TCP/IP连接

 

 

METHOD 为身份验证模式一般分为:identtrustmd5passwordpeerreject。其中identpeer模式仅适用于LinuxUnixMax,不适用于Windows

 

trust

该模式可以不用密码直接连接数据库,不安全

 

md5

该模式很常用,要求连接发起者携带用md5算法加密的密码

 

password

该模式是使用明文密码进行身份验证,也不安全,不推荐

 

ident

该模式下系统会将请求发起者的操作系统用户映射为PostgesSQL数据库内部用户,并以该内部用户的权限登录,且此时无需提供登录密码。操作系统用户与数据库内部用户之间的映射关系会记录在pg_ident.conf文件中。

 

peer

该模式使用连接发起端的操作系统名进行身份验证。仅限于LinuxBSDMac OS XSolaris,并且仅可用于本地服务器发起的连接。

 

reject

该模式表示拒绝所有请求。

 

多种身份验证模式可以同时使用,即使是针对同一个数据库。对于每一个连接请求,postgres服务器会按照pg_hba.conf文件中记录的规则条目自上而下进行检查。当匹配到第一条满足条件的规则,就不再向下检查。如果到文件末尾都没有搜到匹配的规则,那么按默认规则处理,即拒绝该链接。

 

注意,常见错误就是把规则放错,例如若将0.0.0.0/0 reject规则放到127.0.0.1/32 trust前面,那么所有本地用户都无法连接,即使下面有规则允许也不行。

 

 

例子:

1、允许IP10.0.8.100username以密码方式访问数据库dbname

host dbname username 10.0.8.100/32 md5

 

2、允许IP10.1.1.0~10.1.1.255网段的用户以密码方式登录数据库

host all all 10.1.1.0/24 md5

 

3、允许IP192.168.1.0的用户可以不使用密码直接登录数据库

host all all 192.168.1.0/32 trust

 

许多配置文件修改后需要重启postgres服务才能生效,但有的只需执行一下重新加载即可生效。重新加载并不会中断连接。

命令:pg_ctl reload -D your_data_directory_here

 

如果是在linux以服务的形式安装的,那么执行:

命令:service postgresql-9.5 reload

 

另外一种加载配置文件的方法是以超级用户登录到任何一个数据库后执行:

命令:select pg_reload_conf();

 

 

  • 大小: 7.9 KB
分享到:
评论

相关推荐

    pg_hba.conf

    可以直接粘贴,让服务器的数据库直接访问。

    应用层PostgreSQL数据库安装步骤.zip

    复制以上文件 pg_hba.conf 和 postgresql.conf ,并替换 /home/data/pgsql/data 下对应的文件 并根据当前服务器内存大小更改 postgresql.conf 中的 shared_buffered 参数(如果是数据库服务器,建议设置为总内存的...

    linux搭建postgresql、postgis、pg_pathman环境步骤以及需要的软件包

    - 修改`pg_hba.conf`以添加认证规则,允许用户访问数据库(替换`your_username`和`your_network`): ``` host all your_username your_network/32 md5 ``` - 重启PostgreSQL服务以应用更改: ```bash sudo ...

    postgresql数据库pg.pdf

    PostgreSQL 数据库 pg_hba.conf 配置文件是 PostgreSQL 数据库的认证配置文件,该文件控制着客户端与数据库服务器的认证过程。在 PostgreSQL 中,pg_hba.conf 文件是一个非常重要的配置文件,它决定了客户端应用与...

    Linux怎么设置PostgreSQL远程访问

    安装PostgreSQL数据库之后,默认是只接受本地访问连接。如果想在其他主机上访问PostgreSQL数据库服务器,...修改pg_hba.conf文件,配置用户的访问权限(#开头的行是注释内容):  # TYPE DATABASE USER CIDR-ADDRE

    Postgresql开启远程访问的步骤全纪录

    PostgreSQL 的主配置文件是 `postgresql.conf`。在这个文件中,你需要更改 `listen_addresses` 参数,将它从默认的 `'localhost'` 改为 `'*'`。这表示服务器将监听所有可用的网络接口,允许远程连接。 示例配置:...

    PostgreSQL免安装版配置及C#使用说明

    pg_hba.conf是PostgreSQL的配置文件之一,用于配置用户和IP的访问权限。为了使PostgreSQL能够被远程访问,需要在pg_hba.conf文件中添加相应的配置项。 2.3 修改配置文件postgresql.conf postgresql.conf是...

    postgresql安装包

    7. **远程连接**:如果需要远程访问,还需修改`pg_hba.conf`文件,添加允许连接的主机。同时,确保PostgreSQL服务监听所有IP或特定IP。 8. **备份与恢复**:定期备份数据库非常重要。可以使用`pg_dump`和`pg_...

    navicat 连接PostgreSQL报错

    - 查看 PostgreSQL 的 `postgresql.conf` 文件中的 `ssl` 相关配置项是否已启用。 - 如果服务器端要求 SSL 连接,请确保服务器已正确配置 SSL 证书。 - **Navicat 客户端 SSL 设置**: - 在 Navicat 中连接 ...

    centos7下Postgres13安装包带依赖,附安装脚本

    4. 配置`pg_hba.conf`和`postgresql.conf`以设置访问权限和性能参数。 5. 初始化数据库集群:`/usr/pgsql-13/bin/initdb -D /var/lib/pgsql/13/data` 6. 修改PostgreSQL服务配置,例如设置开机启动:`systemctl ...

    PostgreSQL-9.5.5解压后将内容上传到linux服务器.zip

    sudo cp /usr/local/pgsql/share/postgresql/pg_hba.conf.sample /usr/local/pgsql/data/pg_hba.conf sudo chown -R postgres:postgres /usr/local/pgsql/data sudo systemctl enable postgresql sudo systemctl...

    Linux使用脚本一键安装PostgreSQL

    3. PostgreSQL的配置文件包括pg_hba.conf和postgresql.conf 4. 安装脚本,可以通过此脚本实现一键安装/升级/卸载等一系列操作 安装脚本功能: 1. 一键安装PostgreSQL,并可以指定数据存放目录和CPU资源限制。命令...

    使用Bucardo搭建PostgreSQL数据库双主同步.docx

    使用 Bucardo 搭建 PostgreSQL 数据库双主同步 本文将指导您使用 Bucardo 搭建 PostgreSQL 数据库双主同步,涵盖 Bucardo 的介绍、搭建前准备、安装 Perl 和 PostgreSQL、安装依赖包等方面的知识点。 一、Bucardo ...

    PostgreSQL安装及配置

    PostgreSQL的数据库配置文件通常位于/etc/postgresql/目录下,包括postgresql.conf、pg_hba.conf和pg_ident.conf等文件。其中,postgresql.conf是主配置文件,pg_hba.conf是认证配置文件,pg_ident.conf是身份验证...

    Postgre数据库远程连接设置

    ### 方法一:通过`pg_hba.conf`文件配置 1. **编辑`pg_hba.conf`文件**:此文件定义了哪些主机可以访问数据库。通常,这个文件位于`/etc/postgresql/{version}/{cluster}/pg_hba.conf`或`C:\Program Files\...

    Linux环境PostgreSQL源码编译安装1

    - 修改`pg_hba.conf`文件,添加远程主机的访问规则: ``` vi /var/postgresql/data/pg_hba.conf host all all 0.0.0.0/0 trust ``` 13. 重启服务以应用配置更改: ``` pg_ctl -D /var/postgresql/data -l /...

    PGCM数据库实验手册_postgresql_部署_PGCA_PGCP_PGCM

    * 配置 PostgreSQL:修改配置文件 pg_hba.conf,以控制数据库访问权限。 * PostgreSQL 服务器管理:使用 psqd 命令来管理 PostgreSQL 服务器。 PostgreSQL database performance optimization * 什么是数据库性能...

    postgresql14加postgis3.2在centos离线编译安装

    sudo cp /usr/local/pgsql/share/postgresql/pg_hba.conf.sample /etc/postgresql/pg_hba.conf sudo systemctl enable postgresql sudo /usr/local/pgsql/bin/pg_ctl -D /usr/local/pgsql/data stop ``` 至此,你...

    postgresql_ha.zip

    - **配置**:主要涉及`pg_hba.conf`和`postgresql.conf`两个配置文件的修改,设置复制用户,开启wal_log,调整replication参数等。 3. **Ansible部署步骤** - **创建Inventory**:定义主机清单,包括主节点和从...

Global site tag (gtag.js) - Google Analytics