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. HDU1284 钱币兑换问题

    钱币兑换问题 Time Limit: 2000/1000 MS (Java/Others)    Memory Limit: 65536/32768 K (Java/Others)Total Subm ...

  2. 使用Windows下的git工具往github上传代码 踩坑记录

    使用Windows下的git工具往github上传代码 踩坑记录 背景 由于以前接触的项目都是通过svn进行版本控制,现在公司项目使用git,加上自己平时有一个练手小项目,趁着周末试着把项目上传到自己 ...

  3. mysql索引作用的简单理解

    转自:http://blog.csdn.net/pengsidong/article/details/62104703,有添加 索引好比书的目录,好比新华字典的拼音.偏旁部首查字,可以帮助人快速查找到 ...

  4. javascript字符串中包含特殊字符问题

    我们都知道,在javascript中,字符串写在单引号或者双引号之中.因为这种要求,我们有些时候一些需要的字符串不能够被javascript解析,如下: "We are "Huma ...

  5. python多线程实现多任务

    #转载请联系 1.什么是线程? 进程是操作系统分配程序执行资源的单位,而线程是进程的一个实体,是CPU调度和分配的单位.一个进程肯定有一个主线程,我们可以在一个进程里创建多个线程来实现多任务. --- ...

  6. 编译opencv有关cuda的代码

    opencv3.2提供了cuda很好的支持,cuda的opencv接口,让用户想使用opencv那样去使用cuda,不用写cuda代码 一开始编译opencv有关cuda的代码,opencv 里sam ...

  7. Redis 源码走读(二)对象系统

    Redis设计了多种数据结构,并以此为基础构建了多种对象,每种对象(除了新出的 stream 以外)都有超过一种的实现. redisObject 这个结构体反应了 Redis 对象的内存布局 type ...

  8. 山东省第七届省赛 D题:Swiss-system tournament(归并排序)

    Description A Swiss-system tournament is a tournament which uses a non-elimination format. The first ...

  9. Storm学习中遇到的问题整理

    在编写storm代码来进行实时分析的时候遇到了一些问题,有些的确令人比较头痛,现在稍微做一下整理.数据流向(本地-Spout-Bolt-Hdfs) 1数据的输入输出文件的路径选择 因为在此项目中数据是 ...

  10. ipython notebook install

    1.python install (ubuntut系统默认2.7.x) Github: https://github.com/ipython/ipython 2.sudo apt-get instal ...