FreeBSD从源码安装PostgreSQL

##################################################################################
1. 创建PostgreSQL的用户组和用户(PostgreSQL不能使用root启动)

pw groupadd postgresql
pw useradd postgres -g postgresql -d /usr/local/pgsql/data

##################################################################################
2. 先下载源码(不管用何种方法),放到root目录下并解压:

tar -jxvf postgresql-9.3.4.tar.bz2
cd postgresql-9.3.4

##################################################################################
3. 编译并安装PostgreSQL

./configure
make && make install

#备注: FreeBSD10使用gmake && gmake install (如gmake不存在,则pkg install gmake)

##################################################################################
4. 建立数据目录并初始化数据库

mkdir /usr/local/pgsql/data
chown -R postgres:postgresql /usr/local/pgsql/data
su postgres -c "/usr/local/pgsql/bin/initdb -D /usr/local/pgsql/data -E UTF8"

##################################################################################
5. 打开远程客户端连接

edit /usr/local/pgsql/data/postgresql.conf
# 修改 #listen_addresses = "localhost"
# 改为 listen_addresses = "*"
# 将 port = 5432 前的注释(#)去掉

edit /usr/local/pgsql/data/pg_hba.conf
# 在 IPv4 local connections 里增加:
host    all             all             192.168.1.88/24         md5

##################################################################################
6. 创建PostgreSQL启动文件(将以下内容复制到/usr/local/pgsql/pgsqld文件中)

#! /bin/sh

prefix=/usr/local/pgsql
PGDATA="/usr/local/pgsql/data"
PGUSER=postgres
PGLOG="$PGDATA/serverlog"
PATH=/usr/local/sbin:/usr/local/bin:/sbin:/bin:/usr/sbin:/usr/bin
PGCTL="$prefix/bin/pg_ctl"

ldconfig -m $prefix/lib

test -x $PGCTL ||
{
  echo "$PGCTL not found"
  exit 0
}

case $1 in
    start)
  su $PGUSER -c "$PGCTL -D $PGDATA start &" >>$PGLOG 2>&1
  echo "PostgreSQL is start."
  ;;
    stop)
  su $PGUSER -c "$PGCTL stop -D '$PGDATA' -s -m fast"
  echo "PostgreSQL is stop."
  ;;
    restart)
  su $PGUSER -c "$PGCTL stop -D '$PGDATA' -s -m fast -w"
  su $PGUSER -c "$PGCTL start -D '$PGDATA' &" >>$PGLOG 2>&1
  ;;
    status)
  su $PGUSER -c "$PGCTL status -D '$PGDATA'"
  ;;
    *)
  echo "Usage: `basename $0` {start|stop|restart|status}" 1>&2
  exit 1
  ;;
esac

exit 0

##################################################################################
7. 设置PostgreSQL的启动文件属性

chmod 755 /usr/local/pgsql/pgsqld

##################################################################################
8. 启动数据库并设置超级用户postgres和密码

/usr/local/pgsql/pgsqld start
su postgres -c "/usr/local/pgsql/bin/psql -d postgres"
alter user postgres with password '123456';
\q #退出PostgreSQL控制台

##################################################################################
9. 让数据库随系统一起启动(在/etc/rc.local中加入以下命令)

/usr/local/pgsql/pgsqld start

##################################################################################
10. 手动开始或停止数据库

#以postgres用户去到PostgreSQL的bin目录
su postgres
cd /usr/local/pgsql/bin

#开始
./pg_ctl start -D /usr/local/pgsql/data

#停止
./pg_ctl stop -D /usr/local/pgsql/data -w
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值