FONTS Linux中的字型设定( 二 )


$ initdb
可以使用的参数:
--pgdata=https://www.rkxy.com.cn/pgsql/db 指定数据库目录,默认使用环境变量PGDATA指定的位置
--pgencoding=EUC_CN 指定数据库的字符编码,默认使用configure时指定的编码 。
需要注意的是执行initdb的用户将拥有所建数据库目录的管理权 。
使用以下命令启动PostgreSQL:
$ postmaster -S
运行测试程序:
$ cd test/regression
$ gmake all runtest
如测试程序能正常运行则说明PostgreSQL能正常运行 。
为了让 PostgreSQL在系统启动时能自动启动,需作以下变更:
首先以root登录
$ su
Linux: 在/etc/rc.d/rc.local中追加以下内容:
POSTGRESDIR=/usr/local/pgsql
if [ -x $POSTGRESDIR/bin/postmaster -a -d $POSTGRESDIR/data ];then
rm -f /tmp/s.PGSQL.5432
su - postgres -c "postmaster -S -i"
echo -n "postmaster"
fi
FreeBSD: 在/usr/local/etc/rc.d中建立名为pgsql.sh的文件,内容为:
#! /bin/sh
POSTGRESDIR=/usr/local/pgsql
if [ -x $POSTGRESDIR/bin/postmaster -a -d $POSTGRESDIR/data ];then
rm -f /tmp/s.PGSQL.5432
su - postgres -c "postmaster -S -i"
echo -n "postmaster"
fi
修改pgsql.sh文件的权限:
# chmod 755 pgsql.sh
现在PostgreSQL的安装和设定基本已经完成了,但是目前为止能使用数据库的用户只有postgres 。
为使其他用户可以使用数据库,需要登录数据库用户和生成用户数据 。
例如通过Web服务器Apache进行查询的用户,用户名为nobody:
% createuser nobody
Enter user"s postgres ID or RETURN to use unix user ID: 1000 ->1000
Is user "nobody" allowed to create dataase(y/n)n
Is user "nobody" allowed to add users?(y/n)n
createuser: nobody was successfully added
删除用户可以使用命令destroyuser 用户名
PostgreSQL可以同时管理多个数据库(但数据库之间不能进行join等操作) 。新建数据库:
$ createdb 数据库名
新建的数据库将被放在/usr/local/pgsql/data/base的同名目录下(环境变量PGDATA指定
路径的base目录下) 。如省略数据库名参数,将自动以用户名作为数据库名 。
例如 名为db1的数据库将被保存在/usr/local/pgsql/data/base/db1目录下 。
也可使用initlocation命令指定其他位置:
$ initlocation /pgsql/data
$ export PGDATA2=/pgsql/data
$ createdb -D PGDATA2 db2
则数据库db2将被保存在/pgsql/data目录下 。另外PostgreSQL 6.4版可以在建立数据库时
指定文字编码:
createdb -E “字符编码” “字符编码” 参见
configure、initdb 。
删除数据库:destroydb 数据库名
PostgreSQL最基本的数据库管理工具是pgsql. 基本使用方法:pgsql 数据库名

1.5 安全设置:
PostgreSQL提供了基于主机的认证方式host based authentication(HBA) 、基于口令的
用户身份认证和用户操作权限设置等安全机制 。

1.5.1 HBA方式和基于口令的用户身份认证方式
HBA方式的设置文件为pg_hba.conf 。其格式为:
host DBNAME IP_ADDRESS ADDRESS_MASK USRAUTH [AUTH_ARGUMENT]
host: 固定标志,不能修改
DBNAME: 数据库名,all代表所有数据库
IP_ADDRESS,ADDRESS_MASK:指定IP地址,也可指定子网,如192.168.10.0/255.255.255.0
USERAUTH: 对用户的认证方式,包括ident(RFC1413) 、trust(不进行认证) 、reject
(拒绝符合条件的访问) 、password [passwd_file](根据flat file口令文件进行认证) 、
crypt(使用PostgreSQL的系统数据库pg_shadow进行认证) 、kbr4/kbr5(Kerberos V4/V5认
证)。如在作为Web 数据库使用, 使用passwd口令文件进行本地登录时可如下设置:
Host all 127.0.0.1 255.255.255.255 password passwd

推荐阅读