apt-get remove postgresql (如果你之前用包管理器装过它,请先卸载)
userdel postgres
wget http://ftp.postgresql.org/pub/source/v9.3.1/postgresql-9.3.1.tar.gz
tar zxvf postgresql-9.3.1.tar.gz
cd postgresql-9.3.1
./configure --prefix=/usr/local/postgresql
make
make install
ln -s /usr/local/postgresql/bin/postgres /usr/local/bin/postgres
useradd -m -u 701 postgres
mkdir /usr/local/postgresql/data
cd /usr/local/postgresql
chown postgres:postgres data (更改data目录所有者与群组属性)
在postgres用户下的.bash_profile文件(或者/etc/profile)中添加如下内容,方便以后启动数据库和关闭数据库:
export PGDATA=/usr/local/postgresql/data
alias pgstart='pg_ctl -D $PGDATA start'
alias pgstop='pg_ctl kill INT `head -1 $PGDATA/postmaster.pid`'
export LD_LIBRARY_PATH="/usr/local/postgresql/lib"
export LANG=en_US.utf8
source /etc/profile
保存并退出用户登录,使之生效.
再次登入:
su - postgres
初始化数据库目录:
/data/pgsql/bin/initdb -D $PGDATA
启动数据库:
/data/pgsql/bin/pg_ctl -D $PGDATA start
这时命令行虽然没换行但实际上就已经可以执行psql命令行了:
psql
postgres# CREATE USER postgres WITH PASSWORD '888888866';
postgres# CREATE DATABASE pgsql;
postgres# GRANT ALL PRIVILEGES ON DATABASE pgsql to postgres;
postgres# ALTER USER postgres with PASSWORD '888888866';
停止数据库:
/data/pgsql/bin/pg_ctl -D $PGDATA stop
远程连接pgsql的配置:
修改两处配置文件,这两个文件均在postgresql安装目录下的data文件夹:
第一:
在pg_hba.conf 文件的最下方加上下面的这句:
host all all 0.0.0.0/0 md5
第二:
在 postgresql.conf文件中查找“listen_addresses ”字符串,然后修改为如下:
listen_addresses = '*'
重启postgres服务.
随机启动:
只要修改OS的配置文件/etc/rc.local文件即可,这是个软连接文件,新增一行数据库启动的命令即可:
# vim /etc/rc.local
su - postgres -c '/data/pgsql/bin/pg_ctl -D /data/pgsql/data -l /data/pgsql/data/postgres.log start'
userdel postgres
wget http://ftp.postgresql.org/pub/source/v9.3.1/postgresql-9.3.1.tar.gz
tar zxvf postgresql-9.3.1.tar.gz
cd postgresql-9.3.1
./configure --prefix=/usr/local/postgresql
make
make install
ln -s /usr/local/postgresql/bin/postgres /usr/local/bin/postgres
useradd -m -u 701 postgres
mkdir /usr/local/postgresql/data
cd /usr/local/postgresql
chown postgres:postgres data (更改data目录所有者与群组属性)
在postgres用户下的.bash_profile文件(或者/etc/profile)中添加如下内容,方便以后启动数据库和关闭数据库:
export PGDATA=/usr/local/postgresql/data
alias pgstart='pg_ctl -D $PGDATA start'
alias pgstop='pg_ctl kill INT `head -1 $PGDATA/postmaster.pid`'
export LD_LIBRARY_PATH="/usr/local/postgresql/lib"
export LANG=en_US.utf8
source /etc/profile
保存并退出用户登录,使之生效.
再次登入:
su - postgres
初始化数据库目录:
/data/pgsql/bin/initdb -D $PGDATA
启动数据库:
/data/pgsql/bin/pg_ctl -D $PGDATA start
这时命令行虽然没换行但实际上就已经可以执行psql命令行了:
psql
postgres# CREATE USER postgres WITH PASSWORD '888888866';
postgres# CREATE DATABASE pgsql;
postgres# GRANT ALL PRIVILEGES ON DATABASE pgsql to postgres;
postgres# ALTER USER postgres with PASSWORD '888888866';
停止数据库:
/data/pgsql/bin/pg_ctl -D $PGDATA stop
远程连接pgsql的配置:
修改两处配置文件,这两个文件均在postgresql安装目录下的data文件夹:
第一:
在pg_hba.conf 文件的最下方加上下面的这句:
host all all 0.0.0.0/0 md5
第二:
在 postgresql.conf文件中查找“listen_addresses ”字符串,然后修改为如下:
listen_addresses = '*'
重启postgres服务.
随机启动:
只要修改OS的配置文件/etc/rc.local文件即可,这是个软连接文件,新增一行数据库启动的命令即可:
# vim /etc/rc.local
su - postgres -c '/data/pgsql/bin/pg_ctl -D /data/pgsql/data -l /data/pgsql/data/postgres.log start'