配置客户机访问 为了配置远程主机和用户可以连接到PostgreSQL服务,你需要编辑pg_hba.conf文件。文件包含大量注释记录用于远程访问的选项。在我们的安装示例中,我们允许局域网中任何主机的任何用户访问服务器上的数据库。为了达到这个目的,我们添加以下的一行记录到请看如下
配置客户机访问
为了配置远程主机和用户可以连接到PostgreSQL服务,你需要编辑pg_hba.conf文件。文件包含大量注释记录用于远程访问的选项。在我们的安装示例中,我们允许局域网中任何主机的任何用户访问服务器上的数据库。为了达到这个目的,我们添加以下的一行记录到文件尾:
hostallall192.168.0.0/16trust
这意味着所有IP地址由192.168开始的计算机可以访问所有的数据库。最简单的使配置生效的方法就是重启服务器。
Windows系统中的pg_hba.conf文件和Linux和UNIX系统中的格式相同。其他的访问配置示例,请参考本章前面的“配置连接权限”小节。
建立示例数据库
现在我们已经让PostgreSQL运行起来了,我们将建立一个简单的数据库,我们给数据库起名为bp,用来支持我们的客户订单表示例。这个数据库(与第8章建立的叫做bpfinal的版本)将在整个本书中使用。我们将在后面的章节全面讨论建立数据库和建表以及填充表的细节。在这里,我们只展示实现的步骤和SQL脚本,这样我们将有一个用于示例的数据库。在我们开始前,一个简单的检查PostgreSQL是否在运行的方法就是查找postmaster进程。在Windows系统中,通过任务管理器查找postmaster.exe进程。在UNIX和Linux系统中,运行以下的命令:
$ps-elgreppost
如果有一个叫postmaster的进程在运行(名称可能是缩写显示),那么你已经在运行一个PostgreSQL服务程序了。
添加用户记录
在我们能建立一个数据库前,我们需要通过在系统中建立用户记录来告诉PostgreSQL有效的用户。PostgreSQL数据库系统的有效用户可以读数据,插入数据或者更新数据;建立自己的数据库以及控制对这些数据库管理的数据的访问。我们使用PostgreSQL的createuser工具建立用户记录。
在Linux和UNIX系统中,使用su命令(从root)变成PostgreSQL管理用户postgres。然后运行createuser注册用户。用户给出的用户登录名需要时有效的PostgreSQL用户。让我们为(UNIX/Linux的)用户neil建立数据库用户:
Enterpassword
Enteritagain:
Shallthe
Shallthe
Password:
CREATEUSER
-U选项指出了你想要建立的新用户的编号。必须是PostgreSQL的用户才能建立用户,通常情况下就是postgres用户。-P选项通知createuser提示输入新用户的密码。
在这里,我们允许neil建立新数据库和建立新用户。本书中的一些例子中使用了另一个叫rick的用户,它允许建立数据库,但不允许新建用户。如果你想重新试试新建用户,现在就可以建立这个用户了。
一旦你建立了拥有这些权限的PostgreSQL用户,你就有能力建立bp数据库了。
建立数据库
在Linux和UNIX系统中建立数据库,回到你自己的用户(非root用户)并运行以下命令:
Youarenowconnected“bp”.
bp
现在你已经登录到PostgreSQL,准备好执行命令了。你可以使用\q命令退回到shell。
下一步,我们将使用一套SQL语句来建立和填充示例数据库。
192.168.01建表
你可以在psql的命令提示符后面通过输入SQL命令在你的bp数据库中建表。但是,更简单的办法是下载代码包并解压后,通过命令\i<文件名>执行这些命令(psql中的\i命令可以用来执行脚本文件,脚本文件是由数组SQL语句和其他PostgreSQL命令组成的文本文件)。由于命令都是纯文本,所以只要你愿意你都可以以通过你的文本编辑器编辑它。
输入下面的命令运行create_tables-bp.sql来建表:
…
bp
把所有的数据库模式(表,索引以及存储过程)写入脚本文件是一个好习惯。只有这样,如果数据库需要重新建立,你可以通过脚本完成。脚本也可以用于在任何模式需要更新时使用。
tags:192.168.01