PostgreSQL 8.2.3 中文文档
后退快退章17. 服务器配置快进前进

17.3. 连接和认证

17.3.1. 连接设置

listen_addresses (string)

声明服务器监听客户端连接的 TCP/IP 地址。值是一个逗号分隔的主机名和/或数字 IP 地址。特殊项 * 对应所有可用 IP 接口。如果这个列表是空的,那么服务器不会监听任何 IP 接口,这种情况下,只有 Unix 域套接字可以用于连接数据库。缺省值 localhost 只允许进行本地"回环"连接。这个参数只能在服务器启动的时候设置。

port (integer)

服务器监听的 TCP 端口;缺省是 5432 。请注意同一个端口号用于服务器监听的所有 IP 地址。这个参数只能在服务器启动的时候设置。

max_connections (integer)

允许和数据库连接的最大并发连接数。缺省通常是 100 ,但是如果内核设置不支持这么大(在 initdb 的时候判断),可能会比这个数少。这个参数只能在服务器启动的时候设置。

增大这个参数可能导致 PostgreSQL 要求更多的 System V 共享内存或者信号灯,可能超过操作系统缺省配置的许可值。必要的话,参阅节16.4.1获取有关如何调节这个参数的信息。

superuser_reserved_connections (integer)

决定为 PostgreSQL 超级用户连接而保留的连接"槽位"。一次最多可以同时激活 max_connections 个连接。在活跃的并发连数接到了 max_connections 减去 superuser_reserved_connections 的时候,新的连接就只能由超级用户发起了。

缺省值是 3 。这个值必须小于 max_connections 的值。这个参数只能在服务器启动的时候设置。

unix_socket_directory (string)

声明服务器监听客户端连接的 Unix 域套接字目录。缺省通常是 /tmp ,但是可以在编译的时候修改。这个值只能在服务器启动的时候设置。

unix_socket_group (string)

设置 Unix 域套接字的所属组(套接字的所属用户总是启动服务器的用户)。可以与选项 unix_socket_permissions 一起用于对套接字进行访问控制。缺省是一个空字符串,表示当前用户的缺省组。这个选项只能在服务器启动的时候设置。

unix_socket_permissions (integer)

设置 Unix 域套接字的访问权限。Unix 域套接字使用普通的 Unix 文件系统权限集。这个选项值应该是数值的形式,也就是那种 Unix 域套接字调用 chmodumask 接受的形式。如果使用自定义的八进制格式,数字必须以 0 开头。

缺省的权限是 0777 ,意思是任何人都可以连接。合理的候选是 0770(只有用户和同组的人可以访问,又见 unix_socket_group)和 0700(只有用户自己可以访问)。请注意,对于 Unix 域套接字,只有写权限有意义,读和执行权限没有任何意义。

这个访问控制机制与章20里描述的用户认证毫无关系。

这个值只能在服务器启动的时候设置。

bonjour_name (string)

声明 Bonjour 广播名称。空字符串 ''(缺省值)表示使用计算机名。如果编译时没有打开 Bonjour 支持那么将忽略这个参数。这个值只能在服务器启动的时候设置。

tcp_keepalives_idle (integer)

在那些支持 TCP_KEEPIDLE 套接字选项的系统上,声明发送保持活跃信号的间隔秒数,不发送保持活跃信号,连接就会处于闲置状态。零使用系统缺省。如果不支持 TCP_KEEPIDLE ,这个参数必须为零。在通过 Unix 域套接字进行的连接上,这个选项被忽略。

tcp_keepalives_interval (integer)

在那些支持 TCP_KEEPINTVL 套接字选项的系统上,以秒数声明在重新传输之间等待响应的时间。零使用系统缺省。如果不支持 TCP_KEEPINTVL ,这个参数必须为零。在通过 Unix 域套接字进行的连接上,这个选项被忽略。

tcp_keepalives_count (integer)

在支持 TCP_KEEPCNT 套接字选项的系统上,声明在切断连接之前可以丢失多少个保持活跃信号。零使用系统缺省。如果不支持 TCP_KEEPCNT ,这个参数必须为零。在通过 Unix 域套接字进行的连接上,这个选项被忽略。

17.3.2. 安全和认证

authentication_timeout (integer)

完成客户端认证的最长时间,以秒计。如果一个客户端没有在这段时间里完成认证协议,服务器将中断连接。这样就避免了出问题的客户端无限制地占据连接资源。缺省是 60 秒。这个选项只能在命令行上或者在 postgresql.conf 里设置。

ssl (boolean)

启用 SSL 连接。请在使用这个选项之前阅读节16.7。缺省是 off 。这个选项只能在服务器启动的时候设置。

password_encryption (boolean)

CREATE USERALTER USER 里声明了一个口令,而又没有写 ENCRYPTEDUNENCRYPTED 的时候,这个选项决定口令是否要加密。缺省是 on(加密口令)。

krb_server_keyfile (string)

设置 Kerberos 服务器键字文件的位置。参阅节20.2.3获取细节。这个选项只能在服务器启动的时候设置。

krb_srvname (string)

设置 Kerberos 服务名。参阅节20.2.3获取细节。这个值只能在服务器启动的时候设置。

krb_server_hostname (string)

设置服务主的主机名部分。这个和 krb_srvname 结合在一起生成完整的服务主,比如:krb_srvname/krb_server_hostname@REALM 。如果没有设置,缺省是服务器主机名。参阅节20.2.3获取细节。这个值只能在服务器启动的时候设置。

krb_caseins_users (boolean)

设置 Kerberos 用户名是否大小写无关。缺省是 off(大小写相关)。这个选项只能在服务器启动的时候设置。

db_user_namespace (boolean)

允许针对每个数据库的用户名。缺省是关闭的。这个选项只能在命令行上或者在 postgresql.conf 里设置。

如果打开这个选项,你应该像 username@dbname 这样创建用户。在给一个正在连接的客户端传递 username 的时候,必须给用户名附加 @ 和数据库名字,然后服务器查找该数据库相关的用户名字。请注意,如果你在 SQL 环境里创建包含 @ 的名字时,你需要用引号包围用户名。

打开这个选项之后,你还是能够创建普通的全局用户。只要在客户端声明用户的时候附加一个 @ 即可。在服务器查找这个用户名之前,这个 @ 会被剥除。

【注意】这个特性只是临时试验用途,直到找到一个完全的解决方案。那个时候,这个选项将被删除。


后退首页前进
文件位置上一级资源消耗