1 连接和认证 CONNECTIONS AND AUTHENTICATION

1.1 连接 CONNECTIONS

1.1.1 listen_addresses

字符型
默认: listen_addresses = 'localhost'
重启数据库生效
指定数据库用来监听客户端连接的TCP/IP地址。值是*表示服务器上所有的IP地址上监听用户请求。
可以写成机器的名字,也可以写成IP地址,不同的值用逗号分开,例如’server01’, ’140.87.171.49, 140.87.171.21’。
如果被设成localhost,表示数据库只能接受本地的客户端连接请求,不能接受远程的客户端连接请求。

1.1.2 port

数字型
默认: port = 5432
重启数据库生效
数据库监听客户端连接的TCP端口

1.1.3 max_connections

数字型
默认: max_connections = 100
重启数据库生效
它决定数据库可以同时建立的最大的客户端连接的数目。每个连接占用400字节共享内存。
注意:
work_mem是应用于每个数据库连接,所以max_connections*work_mem不应该超出实际内存大小。
如果work_mem设置为实际内存的2%,在极端情况下有50个查询都有排序要求,而且都使用2%的内存,则会导致swap的产生。

1.1.4 unix_socket_directories

字符型
默认: unix_socket_directories = '/var/run/postgresql, /tmp'
重启数据库生效
socket文件存放地址

1.1.5 superuser_reserved_connections

数字型
默认: superuser_reserved_connections = 3
重启数据库生效
表示预留给超级用户的数据库连接数目。它的值必须小于max_connections。
普通用户可建立的数据库最大并发连接的数目是max_connections-superuser_reserved_connections(默认为93)

1.1.6 unix_socket_group

字符型
默认: unix_socket_group = '',即为启动数据库的OS用户组。
重启数据库生效
设置Unix-domain socket的OS用户组。

1.1.7 unix_socket_permissions

数字型
默认: unix_socket_permissions = 0777
重启数据库生效
设置Unix-domain socket的访问权限,格式与操作系统的文件访问权限是一样的。

1.1.8 bonjour

布尔值
默认: bonjour = on
重启数据库生效
advertise server via Bonjour

1.1.9 bonjour_name

字符型
默认: bonjour_name = 'red'
重启数据库生效
defaults to the computer name

1.2 安全和认证 Security and Authentication

authentication_timeout = 1min          # 1s-600s
ssl = off
ssl_ciphers = 'HIGH:MEDIUM:+3DES:!aNULL' # allowed SSL ciphers
ssl_prefer_server_ciphers = on
ssl_ecdh_curve = 'prime256v1'
ssl_dh_params_file = ''
ssl_cert_file = 'server.crt'
ssl_key_file = 'server.key'
ssl_ca_file = ''
ssl_crl_file = ''
password_encryption = md5 # md5 or scram-sha-256
db_user_namespace = off
row_security = on
krb_server_keyfile = ''
krb_caseins_users = off

1.3 TCP Keepalives

下面三个变量对于通过Unix-domain socket建立的数据库连接没有任何影响。

1.3.1 tcp_keepalives_idle

数字型
默认: tcp_keepalives_idle = 0 。0表示使用OS值。
可动态修改
等同于OS的sysctl中的tcp_keepalive_time,即连接空闲到第一次发送TCP心跳包的时间,防止连接被网络设备中断。

1.3.2 tcp_keepalives_interval

数字型
默认: tcp_keepalives_interval = 0 。0表示使用OS值。
可动态修改
等同于OS的sysctl中的tcp_keepalive_intvl,即发送TCP心跳包的频率,防止连接被网络设备中断。

1.3.3 tcp_keepalives_count

数字型
默认: tcp_keepalives_count = 0 。0表示使用OS值。
可动态修改
等同于OS的sysctl中的tcp_keepalive_probes,即发送TCP心跳包的次数,超过该值断开连接。

PostgreSQL配置文件--连接和认证的更多相关文章

  1. PostgreSQL远程连接配置管理/账号密码分配(解决:致命错误: 用户 "postgres" Ident 认证失败)

    问题:致命错误: 用户 "postgres" Ident 认证失败 说明:这个是由于没有配置远程访问且认证方式没改造成的,只需要更改使用账号密码认证即可. 解决:找到pg_hba. ...

  2. PostgreSQL 9.5 客户端认证

    PostgreSQL 9.5 客户端认证 当一个客户端应用连接一个数据库服务器时,它将指定以哪个PostgreSQL 数据库用户名连接,就像我们以一个特定用户登录一台 Unix 计算机一样.在 SQL ...

  3. postgresql 配置文件优化

    postgresql 配置文件优化 配置文件 默认的配置配置文件是保存在/etc/postgresql/VERSION/main目录下的postgresql.conf文件 如果想查看参数修改是否生效, ...

  4. PostgreSQL远程连接,发生致命错误:没有用于主机“…”,用户“…”,数据库“…”,SSL关闭的pg_hba.conf记录

    PostgreSQL远程连接方法 有时候在远程连接时,会报Error connecting to the server:致命错误:没有用于主机“…”,用户“…”,数据库“…”,SSL关闭的pg_hba ...

  5. 过滤PostgreSQL配置文件中被注释的部分

    以下正则可以过滤掉PostgreSQL配置文件被注释的部分,包括'#'前带空格的部分,但参数前带空格的部分不会过滤掉 postgres@linux-ij7j:/opt/pg8122/data> ...

  6. 从pg_hba.conf文件谈谈postgresql的连接认证

    最近一直在弄postgresql的东西,搭建postgresql数据库集群环境什么的.操作数据库少不得要从远程主机访问数据库环境,例如数据库管理员的远程管理数据库,远程的客户存取数据库文件. 而在po ...

  7. ArcGIS平台中PostgreSQL数据连接配置总结

    通常用户在使用要素服务时,要求数据必须是存放在空间数据库中的.同时,需要将数据库注册到ArcGIS for Server,这样在发布服务时就不需要进行数据拷贝,从而可以节省磁盘空间及服务发布时间.以下 ...

  8. Postgresql 远程连接配置

    原文地址:http://blog.chinaunix.net/uid-20684384-id-1895247.html 1. 设置远程访问认证机制 编辑 $POSTGRES/data/pg_hba.c ...

  9. ArcGIS SDE 10.1 for Postgresql 服务连接配置

    去年写了ArcGIS 10.1 如何连接Postgresql 数据库(http://blog.csdn.net/arcgis_all/article/details/8202709)当时采用的也是Ar ...

随机推荐

  1. GitLab版本管理【转】

    转自:http://www.cnblogs.com/wintersun/p/3930900.html GitLab是利用 Ruby on Rails 一个开源的版本管理系统,实现一个自托管的Git项目 ...

  2. Linux内核同步机制之(四):spin lock【转】

    转自:http://www.wowotech.net/kernel_synchronization/spinlock.html 一.前言 在linux kernel的实现中,经常会遇到这样的场景:共享 ...

  3. python清华大学镜像

    pip安装的-i参数: https://pypi.tuna.tsinghua.edu.cn/simple conda 设置: conda config --add channels https://m ...

  4. 【 Linux 】I/O工作模型及Web服务器原理

    一.进程.线程     进程是具有一定独立功能的,在计算机中已经运行的程序的实体.在早期系统中(如linux 2.4以前),进程是基本运作单位,在支持线程的系统中(如windows,linux2.6) ...

  5. JSP 基础之 JSTL <c:if>用法

    <c:if>还有另外两个属性var和scope.当我们执行<c:if>的时候,可以将这次判断后的结果存放到属性var里:scope则是设定var的属性范围.哪些情况才会用到va ...

  6. 曹政:CTO这点事

    几乎整个互联网行业都缺 CTO,特别是一些草根背景的创业者,这个问题更加显著.从我自己的感受,身边各种朋友委托我找 CTO 的需求,嗯,算下来超过两位数了,光最近一个月就有 3 个,而且这三家都是刚拿 ...

  7. Linux API的fork()测试

    现在到docker的实施阶段, 其底层的namespace,cgroup应该深入了解了. 其调用的API也慢慢熟悉起来吧. #include <unistd.h> #include < ...

  8. [BZOJ2661][BeiJing wc2012]连连看 费用流

    2661: [BeiJing wc2012]连连看 Time Limit: 10 Sec  Memory Limit: 128 MBSubmit: 1349  Solved: 577[Submit][ ...

  9. c# 使用ssh连接远程主机(ssh.net演示)

    本教程使用的是ssh.net这个库.项目地址:https://github.com/sshnet/SSH.NET 使用ssh客户端连接远程主机执行命令,并拿到输出结果: using (var sshC ...

  10. api接口思路介绍

    现在很流行api了,但各种api做法不一样,下面我整理了一些自己的想法,也是看了各大门户网站开放的api应用想到的,与大家分享分享,高手跳过.   API(Application Programmin ...