文章详情

短信预约-IT技能 免费直播动态提醒

请输入下面的图形验证码

提交验证

短信预约提醒成功

怎么用源码安装PostgreSQL

2024-04-02 19:55

关注

本篇内容介绍了“怎么用源码安装PostgreSQL”的有关知识,在实际案例的操作过程中,不少人都会遇到这样的困境,接下来就让小编带领大家学习一下如何处理这些情况吧!希望大家仔细阅读,能够学有所成!

数据库版本:

PostgreSQL 9.6.3

系统版本:

CentOS release 6.6 (Final)

下载软件(Download software):

[root@Darren2 tools]# wget https://ftp.postgresql.org/pub/source/v9.6.3/postgresql-9.6.3.tar.gz

查看是否已经安装(Check is not instatll):

[root@Darren2 tools]# ps -ef |grep pgsql

root      28590  18695  0 20:24 pts/0    00:00:00 grep pgsql

[postgres@sht-sgmhadoopdn-02 ~]$ rpm -qa |grep postgres

postgresql-libs-8.4.18-1.el6_4.x86_64

解压(Extract software):

[root@Darren2 tools]# tar xf postgresql-9.6.3.tar.gz

编译和安装(Complie):

[root@Darren2 tools]# cd postgresql-9.6.3

[root@Darren2 postgresql-9.6.3]# ./configure --prefix=/usr/local/pgsql

编译所有能编译的东西,包括文档(HTML和手册页)以及附加模块(contrib):

[root@Darren2 postgresql-9.6.3]# make world && make install-world

......

make[2]: Leaving directory `/home/tools/postgresql-9.6.3/contrib/vacuumlo'

make[1]: Leaving directory `/home/tools/postgresql-9.6.3/contrib'

PostgreSQL, contrib, and documentation installation complete.

创建用组和用户(Create group and user)

[root@Darren2 ~]# groupadd -g 101 dba

[root@Darren2 ~]# cat /etc/group|grep dba

dba:x:101:

[root@Darren2 ~]# useradd -u 516 -g dba -G root -d /usr/local/pgsql  postgres

[root@Darren2 ~]# id postgres

uid=516(postgres) gid=101(dba) groups=101(dba),0(root)

-u UID

-g 初始用户组

-G次要用户组

-m 创建用户家目录(系统用户默认不创建家目录)

-M 不创建用户家目录(普通用户默认创建家目录)

-s shell 默认是/bin/bash

-d指定家目录

[root@Darren2 home]# groups postgres

postgres : dba root

配置postgres密码

[root@Darren2 home]# passwd postgres

[root@Darren2 skel]# ls -al /etc/skel/

total 20

drwxr-xr-x.  2 root root 4096 Dec 20  2016 .

drwxr-xr-x. 84 root root 4096 Jul 11 22:27 ..

-rw-r--r--.  1 root root   18 Jul 18  2013 .bash_logout

-rw-r--r--.  1 root root  176 Jul 18  2013 .bash_profile

-rw-r--r--.  1 root root  124 Jul 18  2013 .bashrc

[root@Darren2 skel]# cp /etc/skel/.* /usr/local/pgsql/

创建数据目录(Create data folder)

[root@Darren2 ~]# mkdir -p /usr/local/pgsql/data

配置.bash_profile(Configure .bash_profile)

[root@Darren2 pgsql]# cat /usr/local/pgsql/.bash_profile

# .bash_profile

# Get the aliases and functions

if [ -f ~/.bashrc ]; then

    . ~/.bashrc

fi

# User specific environment and startup programs

PATH=$PATH:$HOME/bin

export PGHOME=/usr/local/pgsql

export PGDATA=/usr/local/pgsql/data

export PATH=$PATH:/usr/local/pgsql/bin

set umask to 022

umask 022

PS1=`uname -n`":"'$USER'":"'$PWD'":>"; export PS1

修改文件权限和所有者(Chmod and chown)

[root@Darren2 pgsql]# chmod -R 755 /usr/local/pgsql

[root@Darren2 pgsql]# chown -R postgres:dba /usr/local/pgsql

[root@Darren2 pgsql]# chmod -R 700 /usr/local/pgsql/data

配置postgresql服务启动和设置自启动(Configure postgresql service and boot auto start) --这步可不做

[root@Darren2 start-scripts]# cp /home/tools/postgresql-9.6.3/contrib/start-scripts/linux /etc/init.d/postgresql

[root@Darren2 start-scripts]# chmod +x /etc/init.d/postgresql

[root@Darren2 start-scripts]# chkconfig --list |grep postgresql

[root@Darren2 start-scripts]# chkconfig --add postgresql

[root@Darren2 start-scripts]# chkconfig --list |grep postgresql

postgresql         0:off    1:off    2:on    3:on    4:on    5:on    6:off

初始化数据和启动(Initialize database and start database)

[root@Darren2 start-scripts]# su - postgres

[postgres@Darren2 start-scripts]$ cd

[postgres@Darren2 ~]$ pwd

/usr/local/pgsql

[postgres@Darren2 ~]$ . .bash_profile

#初始化生成数据文件

Darren2:postgres:/usr/local/pgsql:>/usr/local/pgsql/bin/initdb -D /usr/local/pgsql/data

#启动数据库

Darren2:postgres:/usr/local/pgsql:>pg_ctl start

server starting

Darren2:postgres:/usr/local/pgsql:>LOG:  database system was shut down at 2017-07-12 00:49:17 CST

LOG:  MultiXact member wraparound protections are now enabled

LOG:  database system is ready to accept connections

LOG:  autovacuum launcher started

创建用户和数据库(Create user and database)

psql

psql (9.6.3)

Type "help" for help.

postgres=# create user admin password'admin' login;

CREATE ROLE

postgres=# create database testdb with owner=admin;

CREATE DATABASE

Darren2:postgres:/usr/local/pgsql:>pg_ctl status

pg_ctl: server is running (PID: 51498)

/usr/local/pgsql/bin/postgres

安装过程中常见报错

编译时候报错:

[root@Darren2 postgresql-9.6.3]# ./configure --prefix=/usr/local/pgsql --without-zlib

......

configure: error: readline library not found  --提示找不到readline

If you have readline already installed, see config.log for details on the

failure.  It is possible the compiler isn't looking in the proper directory.

Use --without-readline to disable readline support.

查看系统已经安装readline:

[root@Darren2 postgresql-9.6.3]# rpm -qa |grep readline

compat-readline5-5.2-17.1.el6.x86_64

readline-6.0-4.el6.x86_64

通过yum search可以发现没有安装readline-devel:

[root@Darren2 postgresql-9.6.3]# yum search readline

......

readline-devel.i686 : Files needed to develop programs which use the readline library

readline-devel.x86_64 : Files needed to develop programs which use the readline library

......

通过yum安装之后,在编译即可通过:

[root@Darren2 postgresql-9.6.3]# yum install -y readline-devel

    

“怎么用源码安装PostgreSQL”的内容就介绍到这里了,感谢大家的阅读。如果想了解更多行业相关的知识可以关注亿速云网站,小编将为大家输出更多高质量的实用文章!

阅读原文内容投诉

免责声明:

① 本站未注明“稿件来源”的信息均来自网络整理。其文字、图片和音视频稿件的所属权归原作者所有。本站收集整理出于非商业性的教育和科研之目的,并不意味着本站赞同其观点或证实其内容的真实性。仅作为临时的测试数据,供内部测试之用。本站并未授权任何人以任何方式主动获取本站任何信息。

② 本站未注明“稿件来源”的临时测试数据将在测试完成后最终做删除处理。有问题或投稿请发送至: 邮箱/279061341@qq.com QQ/279061341

软考中级精品资料免费领

  • 历年真题答案解析
  • 备考技巧名师总结
  • 高频考点精准押题
  • 2024年上半年信息系统项目管理师第二批次真题及答案解析(完整版)

    难度     813人已做
    查看
  • 【考后总结】2024年5月26日信息系统项目管理师第2批次考情分析

    难度     354人已做
    查看
  • 【考后总结】2024年5月25日信息系统项目管理师第1批次考情分析

    难度     318人已做
    查看
  • 2024年上半年软考高项第一、二批次真题考点汇总(完整版)

    难度     435人已做
    查看
  • 2024年上半年系统架构设计师考试综合知识真题

    难度     224人已做
    查看

相关文章

发现更多好内容

猜你喜欢

AI推送时光机
位置:首页-资讯-数据库
咦!没有更多了?去看看其它编程学习网 内容吧
首页课程
资料下载
问答资讯