PostgreSQL配置文件--连接和认证
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配置文件--连接和认证的更多相关文章
- PostgreSQL远程连接配置管理/账号密码分配(解决:致命错误: 用户 "postgres" Ident 认证失败)
问题:致命错误: 用户 "postgres" Ident 认证失败 说明:这个是由于没有配置远程访问且认证方式没改造成的,只需要更改使用账号密码认证即可. 解决:找到pg_hba. ...
- PostgreSQL 9.5 客户端认证
PostgreSQL 9.5 客户端认证 当一个客户端应用连接一个数据库服务器时,它将指定以哪个PostgreSQL 数据库用户名连接,就像我们以一个特定用户登录一台 Unix 计算机一样.在 SQL ...
- postgresql 配置文件优化
postgresql 配置文件优化 配置文件 默认的配置配置文件是保存在/etc/postgresql/VERSION/main目录下的postgresql.conf文件 如果想查看参数修改是否生效, ...
- PostgreSQL远程连接,发生致命错误:没有用于主机“…”,用户“…”,数据库“…”,SSL关闭的pg_hba.conf记录
PostgreSQL远程连接方法 有时候在远程连接时,会报Error connecting to the server:致命错误:没有用于主机“…”,用户“…”,数据库“…”,SSL关闭的pg_hba ...
- 过滤PostgreSQL配置文件中被注释的部分
以下正则可以过滤掉PostgreSQL配置文件被注释的部分,包括'#'前带空格的部分,但参数前带空格的部分不会过滤掉 postgres@linux-ij7j:/opt/pg8122/data> ...
- 从pg_hba.conf文件谈谈postgresql的连接认证
最近一直在弄postgresql的东西,搭建postgresql数据库集群环境什么的.操作数据库少不得要从远程主机访问数据库环境,例如数据库管理员的远程管理数据库,远程的客户存取数据库文件. 而在po ...
- ArcGIS平台中PostgreSQL数据连接配置总结
通常用户在使用要素服务时,要求数据必须是存放在空间数据库中的.同时,需要将数据库注册到ArcGIS for Server,这样在发布服务时就不需要进行数据拷贝,从而可以节省磁盘空间及服务发布时间.以下 ...
- Postgresql 远程连接配置
原文地址:http://blog.chinaunix.net/uid-20684384-id-1895247.html 1. 设置远程访问认证机制 编辑 $POSTGRES/data/pg_hba.c ...
- ArcGIS SDE 10.1 for Postgresql 服务连接配置
去年写了ArcGIS 10.1 如何连接Postgresql 数据库(http://blog.csdn.net/arcgis_all/article/details/8202709)当时采用的也是Ar ...
随机推荐
- GitLab版本管理【转】
转自:http://www.cnblogs.com/wintersun/p/3930900.html GitLab是利用 Ruby on Rails 一个开源的版本管理系统,实现一个自托管的Git项目 ...
- Linux内核同步机制之(四):spin lock【转】
转自:http://www.wowotech.net/kernel_synchronization/spinlock.html 一.前言 在linux kernel的实现中,经常会遇到这样的场景:共享 ...
- python清华大学镜像
pip安装的-i参数: https://pypi.tuna.tsinghua.edu.cn/simple conda 设置: conda config --add channels https://m ...
- 【 Linux 】I/O工作模型及Web服务器原理
一.进程.线程 进程是具有一定独立功能的,在计算机中已经运行的程序的实体.在早期系统中(如linux 2.4以前),进程是基本运作单位,在支持线程的系统中(如windows,linux2.6) ...
- JSP 基础之 JSTL <c:if>用法
<c:if>还有另外两个属性var和scope.当我们执行<c:if>的时候,可以将这次判断后的结果存放到属性var里:scope则是设定var的属性范围.哪些情况才会用到va ...
- 曹政:CTO这点事
几乎整个互联网行业都缺 CTO,特别是一些草根背景的创业者,这个问题更加显著.从我自己的感受,身边各种朋友委托我找 CTO 的需求,嗯,算下来超过两位数了,光最近一个月就有 3 个,而且这三家都是刚拿 ...
- Linux API的fork()测试
现在到docker的实施阶段, 其底层的namespace,cgroup应该深入了解了. 其调用的API也慢慢熟悉起来吧. #include <unistd.h> #include < ...
- [BZOJ2661][BeiJing wc2012]连连看 费用流
2661: [BeiJing wc2012]连连看 Time Limit: 10 Sec Memory Limit: 128 MBSubmit: 1349 Solved: 577[Submit][ ...
- c# 使用ssh连接远程主机(ssh.net演示)
本教程使用的是ssh.net这个库.项目地址:https://github.com/sshnet/SSH.NET 使用ssh客户端连接远程主机执行命令,并拿到输出结果: using (var sshC ...
- api接口思路介绍
现在很流行api了,但各种api做法不一样,下面我整理了一些自己的想法,也是看了各大门户网站开放的api应用想到的,与大家分享分享,高手跳过. API(Application Programmin ...