|
使用脚本来使数据库服务器随系统启动而自动启动。在PostgreSQL的源码包的contrib/start-scripts目录下面我们可以看到freebsd linux PostgreSQL.darwin StartupParameters.plist.darwin 4个文件,这些文件时用来作为系统启动脚本的,在这里我们用linux来做说明。
在这里的操作使用你编译PostgreSQL数据库时的用户身份。
cd $HOME/src/postgresql-7.4/contrib/start-scripts
su //切换到root用户
cp linux /etc/rc.d/init.d/postgres //把linux改名为postgres拷贝到系统的启动脚本的目录。
cd /etc/rc.d/init.d
使用你熟习的编辑器来编辑postgres启动脚本。
29 ## EDIT FROM HERE
30
31 # Installation prefix
32 prefix=/opt/pgsql
33
34 # Data directory
35 PGDATA="/var/lib/pgsql/data"
36
37 # Who to run pg_ctl as, should be "postgres".
38 PGUSER=postgres
39
40 # Where to keep a log file
41 PGLOG="$PGDATA/serverlog"
42
43 ## STOP EDITING HERE
在这里我们要修改prefix,PGDATA,PGUSER的值,prefix就是我们在configure源码时指定的prefix,PGDATA就是我们initdb命令-D参数指定的路径,PGUSER是我们用来启动数据库服务器的用户。
chmod +x postgres //使脚本具有可执行权限
如果希望在Linux启动的运行级别3的时候自动启动PostgreSQL数据库服务器,以root用户继续执行下面的命令。
cd /etc/rc.d/rc3.d/
ln -sf ../init.d/postgres S25postgres
当然S后面的数值可以根据你的需要来设定,但是这个数值一定要比PostgreSQL服务器依赖的服务器的数值小,比如你希望使用syslog,如果syslog服务是S12,那么postgres的值就要小于S12。
--------------------------------
我按照上面的这样做不行。。。。 |
|