一聚教程网:一个值得你收藏的教程网站

最新下载

热门教程

postgresql 9.4 在linux环境的安装步骤详解

时间:2022-06-29 10:22:10 编辑:袖梨 来源:一聚教程网

环境说明
系统:centos 6.4 64位
软件:postgresql 9.4.1
 
 
软件下载
cd /usr/local/src/
wget https://ftp.postgresql.org/pub/source/v9.4.1/postgresql-9.4.1.tar.gz
 
安装依赖包
yum install -y perl-ExtUtils-Embed readline-devel zlib-devel pam-devel libxml2-devel libxslt-devel openldap-devel python-devel gcc-c++   openssl-devel cmake
 
 
安装postgresql
tar xf postgresql-9.4.1.tar.gz
cd postgresql-9.4.1
./configure --prefix=/usr/local/pgsql --with-perl --with-python --with-libxml --with-libxslt
gamke
gamke install
 
 
安装PG插件
cd /usr/local/src/postgresql-9.4.1/contrib
gmake
gmake install
加载动态库
echo "/usr/local/pgsql/lib" >> /etc/ld.so.conf.d/pgsql.conf
ldconfig
初始化数据库
创建用户postgres
useradd postgres
echo "postgres"|passwd --stdin postgres
 
创建PG数据目录
mkdir -p /data/pg/data
chown -R postgres:postgres /data/pg
/usr/local/pgsql/bin/initdb --no-locale -U postgres -E utf8 -D /data/pg/data -W
(在初始化的时候,看提示添加超级用户的密码)
 
备注
  initdb [选项]... [DATADIR]
  -A, --auth=METHOD         本地连接的默认认证方法
  -D, --pgdata=DATADIR       当前数据库簇的位置
  -E, --encoding=ENCODING   为新数据库设置默认编码
      --locale=LOCALE      为新数据库设置默认语言环境
  --lc-collate, --lc-ctype, --lc-messages=LOCALE
  --lc-monetary, --lc-numeric, --lc-time=LOCALE
                            为新的数据库簇在各自的目录中分别
                   设定缺省语言环境(默认使用环境变
                   量)
  --no-locale               等同于 --locale=C
  --pwfile=文件名           对于新的超级用户从文件读取口令
  -T, --text-search-config=CFG
                   缺省的文本搜索配置
  -U, --username=NAME       数据库超级用户名
  -W, --pwprompt              对于新的超级用户提示输入口令
  -X, --xlogdir=XLOGDIR        当前事务日志目录的位置
 
非普通使用选项:
  -d, --debug               产生大量的除错信息
  -L DIRECTORY              输入文件的位置
  -n, --noclean             出错后不清理
  -s, --show                显示内部设置
 
其它选项:
  -?, --help                显示此帮助, 然后退出
  -V, --version             输出版本信息, 然后退出
 
如果没有指定数据目录, 将使用环境变量 PGDATA
 
 
 
配置运行环境变量(方便管理)
切换到root
vim /etc/profile
 
添加以下代码:
PGDATA=/data/pg/data
PGHOST=127.0.0.1
PGDATABASE=postgres
PGUSER=postgres
PGPORT=5432
PATH=/usr/local/pgsql/bin:$PATH
export PATH
export PGDATA PGHOST PGDATABASE PGUSER PGPORT
 
执行生效
source /etc/profile
 
postgresql服务管理
启动:
pg_ctl start -D /data/pg/data
 
重启:
pg_ctl restart -D /data/pg/data
 
停止:
pg_ctl stop -D /data/pg/data
 
强制重启:
pg_ctl restart -D /data/pg/data -m f
 
强制停止:
pg_ctl stop -D /data/pg/data -m f
-m f 指定快速关闭
 
加载配置:
pg_ctl reload -D  /data/pg/data
 
显示服务状态:
pg_ctl status -D  /data/pg/data
 
 
连接数据库
psql -h 127.0.0.1 -U postgres -p 5432 -d postgres -W
-d 指定数据库 ,-W 输入密码 , -U 指定用户,-p 指定端口,-h 指定IP
 
复制PostgreSQL执行脚本
cp /usr/local/src/postgresql-9.4.1/contrib/start-scripts/linux /etc/init.d/postgresql
chmod +x /etc/init.d/postgresql
 
修改/etc/init.d/postgresql 
把PGDATA改成PGDATA=/data/pg/data
 
加入开机启动
chkconfig postgresql on
 
 
管理PG服务时也可以直接用上面启动脚本
启动:service postgresql start
停止:service postgresql stop
重启:service postgresql restart
加载:service postgresql reload
状态:serivce postgresql status

热门栏目