OpenBSD4.0 PostgreSQL8.1.5数据库的安装

OpenBSD4.0 PostgreSQL8.1.5数据库的安装

一、建立postgresql相关用户

    #groupadd postgresql

    #mkdir /home/postgres

    #useradd –g postgresql postgres

    #passwd postgres

    设置密码 password

    确认密码 password

    二、安装PostgreSQL

    #mkdir –p /var/postgresql/data                     
    *建立数据库初始目录,安装时会自动建立但会提示个错误。

    #chown –R postgres /var/postgresql/data   
    *让用户postgres拥有数据库目录控制权限

    #pkg_add -r postgresql-server-8.1.5.tgz

    三、开机启动PostgreSQL数据库

    #vi /etc/rc.local                            
    *加入如下内容,注意格式
    CODE:[Copy to clipboard]if [ -x /usr/local/bin/pg_ctl -a -x /usr/local/bin/postmaster ]; then

    su postgres -c "/usr/local/bin/pg_ctl start -D /var/postgresql/data -l /var/postgresql/data/log.txt -o '-D /var/postgresql/data' -o '-k /var/www/tmp/'"

    ln -s /var/www/tmp/.s.PGSQL.5432 /tmp

    ln -s /var/www/tmp/.s.PGSQL.5432.lock /tmp

    echo -n ' postgresql'

    fi
    :wq    *保存退出

    #ln -s /var/www/tmp/.s.PGSQL.5432 /tmp

    #ln -s /var/www/tmp/.s.PGSQL.5432.lock /tmp

    四、关机时关闭PostgreSQL数据库

    #vi /etc/rc.shutdown    *加入如下内容,注意格式


    CODE:[Copy to clipboard]if [ -f /var/postgresql/data/postmaster.pid ]; then

    su postgres -c '/usr/local/bin/pg_ctl stop -m fast -D /var/postgresql/data'

    rm -f /var/postgresql/data/postmaster.pid

    fi
    :wq
五、建立数据库

    #su postgres

    $initdb –D /var/postgresql/data

    $exit
    (如果这步提示 /tmp/.s.PGSQL.5432.lock 文件已存在无法创建该文件,请把/tmp/.s.PGSQL.5432.lock 删除,再次启动数据)


    六、启动数据库、建立新用户、创建数据

    #su postgres

    $/usrl/local/bin/postmaster -D /var/postgresql/data

    或者

    $/usr/local/bin/pg_ctl –D /var/postgresql/data –l /var/postgresql/data/pgsql.log start

    $createuser –P       
    *创建一个带密码的超级用户 -P 大写

    Enter name of role to add: (新的用户名)

    Enter password for new role: (新密码)

    Enter it again: (确认密码)

    Shall the new role be a superuser? (y/n) y       
    (使该用户拥有超级用户权限y/n) 如果输入y,下面两项将不再出现

    Shall the new role be allowed to create databases?(y/n)     
    (使该用户拥有创建新数据库的权限y/n)

    Shall the new role be allowed to create more new roles?(y/n)  
    (使该用户拥有新用户创建的权限y/n)

    $/usr/local/bin/createdb -O admin -E UNICODE phpbb

    *(为admin用户创建一个编码为UTF-8的phpbb数据库,注意大小写,admin必须拥有superuser权限)*

    CREATE DATABASE

    $exit

    七、配置postgresql

    #vi /var/postgresql/data/pg_hba.conf

    # TYPE  DATABASE  USER  CIDR-ADDRESS  METHOD

    # "local" is for Unix domain socket connections only
    local   postgres   all               trust
    # IPv4 local connections:
    host     all     all    0.0.0.0 0.0.0.0   md5 * 密码认证


    #vi /var/postgresql/data/postgresql.conf

    改:


    CODE:[Copy to clipboard]#listen_addresses = 'localhost'

    #port = 5432

    #unix_socket_permissions = 0777

    #authentication_timeout = 60

    #password_encryption = on

    #db_user_namespace = off

    为:

    listen_addresses = '*'   

    port = 5432

    unix_socket_permissions = 0700

    authentication_timeout = 60

    password_encryption = on

    db_user_namespace = off
    :wq
八、安装并配置phpPgAdmin-4.0.1

    #pkg_add -r php5-pgsql-5.1.4.tgz

    #/usr/local/sbin/phpxs -a pgsql

    网上下载phpPgAdmin-4.0.1.tar.gz 到 /var/www/htdocs    

    #tar zxf phpPgAdmin-4.0.1.tar.gz

    #mv phpPgAdmin-4.0.1 pgadmin       
   

    *改个容易记住的名字,当然你喜欢长文件名不改也行~_~

    #vi /var/www/htdocs/pgadmin/conf/config.inc.php


    CODE:[Copy to clipboard]改:

    $conf['servers'][0]['host'] = '';     

    $conf['servers'][0]['defaultdb'] = 'Template1';

    $conf['extra_login_security'] = true;

    为:

    $conf['servers'][0]['host'] = 'localhost';     
    * 指定postgresql 在本机

    $conf['servers'][0]['defaultdb'] = 'posrgres';   
    * PostgreSQL 8.1 以上版本,你需要到将这项设定为 'postgres'

    $conf['extra_login_security'] = false;      
    *启用密码认证
    :wq