大多数刚出来工作的程序猿,接触的比较多都是MySQL数据库,就像我,刚出来工作的时候,都不知道还有postgresql这个数据库····
一、安装:
以下操作需要先切换到root用户
1.创建数据库用户
useradd postgres #添加postgresql数据库用户
passwd postgres #设置数据库用户密码
2.解压安装
cp postgresql-9.5.0.tar.gz postgresql-9.5.0.tar.bz2 /mnt/temp/ #将安装文件复制到临时目录
mkdir database/postgresql/pg -p #创建安装目录
cd /mnt/temp/ #切换到压缩包所在目录
tar -zxvf postgresql-9.5.0.tar.gz postgresql-9.5.0.tar.gz #解压安装包
cd /mnt/temp/postgresql-9.5.0 #切换到解压后的目录
./configure --prefix=/database/postgresql/pg/ #校验系统环境
make #执行编译,若提示All of PostgreSQL successfully made. Ready to install.则继续下一步
make install #执行安装,若提示PostgreSQL installation complete.,则表示安装完成
mkdir /database/postgresql/pg/data -p #创建保存数据的目录
chown -R postgres /database/postgresql/pg/data/ #将目录赋给数据库用户postgres
3.切换到数据库用户,并编辑环境变量
su - postgres #切换到postgres用户
vi .bash_profile #编辑postgres用户环境变量
#postgresql
#PostgresqlPort
PGPORT=5432
#PostgresqlData
PGDATA=/database/postgresql/pg/data
export PGPORT PGDATA
#Language
export LANG=en_US.utf8
#PostgresqlHome
export PGHOME=/database/postgresql/pg
#PostgresqlConnection
export LD_LIBRARY_PATH=$PGHOME/lib:lib64:/usr/lib64:/usr/local/lib64:/lib:/usr/local/lib:$LD_LIBRARY_PATH
export DATE='date+"%Y%m%d%H%M"'
#PostgresqlCommand 将Postgresql的命令行添加到PATH环境变量
export PATH=$PGHOME/bin:$PATH
#Postgresql User
export PGUSER=postgres
#Postgresql Host
export PGHOST=127.0.0.1
#Postgresql database
export PGDATABASE=postgres
PATH=$PATH:$HOME/.local/bin:$HOME/bin
export PATH
source .bash_profile #使环境变量即时生效
echo $PATH #测试环境变量是否配置正确,若出现下列信息,则说明正确
/database/postgresql/pg/bin:/usr/local/bin:/bin:/usr/bin:/usr/local/sbin:/usr/sbin:/home/postgres/.local/bin:/home/postgres/bin
4.初始化数据库
/database/postgresql/pg/bin/initdb --encoding=utf-8 -D /database/postgresql/pg/data #执行数据库初始化,初始化成功的话,和提示如下信息
Success.You can now start the database server using:
/database/postgresql/pg/bin/pg_ctl -D /database/postgresql/pg/data -l logfile start
则说明安装成功,/database/postgresql/pg/bin/pg_ctl -D /database/postgresql/pg/data -l logfile start即启动方式,但是还有更简单的启动方式
5.完成系统配置
su - root #切换到root用户
cp /mnt/temp/postgresql-9.5.0/contrib/start-scripts/linux /etc/init.d/postgresql #复制启动脚本
vi /etc/init.d/postgresql #编辑启动脚本,找到 prefix=/usr/local/pgsql和PGDATA="/usr/local/pgsql/data"这两行,分别修改为自己的目录
prefix=/database/postgresql/pg #自己的数据库安装目录
PGDATA="/database/postgresql/pg/data" #自己的数据库储存目录
chmod +x /etc/init.d/postgresql #赋予执行权限
vi /database/postgresql/pg/data/postgresql.conf #编辑数据库配置文件,找到 #listen_addresses = 'localhost'和 #port = 5432 分别修改为如下所示
listen_addresses = '*' #去掉#,并且把localhost修改为*
port = 5432 #去掉#,默认端口为5432,若是新人,不建议修改,就默认的好了。
chkconfig postgresql on #设置开机启动postgresql服务
二、错误解决
1.configure: error: readline library not found
yum install readline-devel -y
2.configure: error: zlib library not found
yum install zlib-devel -y
yum install gcc-c++ -y
yum install python-devel -y