首页 > Postgresql > PostgreSQL使用源码安装配置

PostgreSQL使用源码安装配置

2017年11月21日 发表评论 阅读评论

PostgreSQL使用源码安装配置

1 我的环境

[root@pgaa1 etc]# cat redhat-release
CentOS Linux release 7.4.1708 (Core)

服务器的环境最好能上网,不然不能用yum会是一个很抓狂的事。

2 下载源码
www.postgresql.org->download->source->选择合适的版本,我这里选的是9.6.6的版本
放到相应的服务器

3 编译选项

./configure –prefix=/usr/local/pgsql9.6.6 –with-perl –with-python –with-libxml

加这两个选项的目的是可以使用基于相应语言的
根据报错用yum把相应的包装上即可,pg依赖包有zlib,zlib-devel,readline,readline-devel,bison,flex,python,python-devel,perl,perl-devel,libxml2,libxml2-devel
其它报错可以用yum search搜索相应的包。

4 编译安装

make && make install

linux下源码安装包基本都这样

5 做目录链接

ln -sf /usr/local/pgsql9.6.6 /usr/local/pgsql

这样做的好处是,当新版本发布或需加新的编译选项时,只需要把现在的库停掉,然后把/usr/local/pgsql指向相应的版本即可完成升级,很方便。

6 安装后配置
1)新加一postgres用户,属组postgres
2)使用chown将/usr/local/pgsql9.6.6权限修改为postgres

chown -R postgres:postgres /usr/local/pgsql9.6.6

3)修改postgres环境变量

[postgres@pgaa1 ~]$ cat .bash_profile
# .bash_profile

# Get the aliases and functions
if [ -f ~/.bashrc ]; then
. ~/.bashrc
fi

# User specific environment and startup programs

PATH=$PATH:$HOME/.local/bin:$HOME/bin

export PATH=/usr/local/pgsql/bin:$PATH
export LD_LIBRARY_PATH=/usr/local/pgsql/lib:$LD_LIBRARY_PATH
export PGDATA=/pgdata/pgaa

其中PGDATA指定是建数据库的数据目录。

7 初始化数据库
1)查看一下$PGDATA目录属主是postgres
2)执行初始化:

initdb

如果未设定PGDATA环境变量,可以如下:

initdb -D /opt/pgsql/data

8 启动服务

1)登陆到postgres用户
2)启动服务

pg_ctl -D /pgdata/pgaa -l logfile start

9 firewall调整放行5432端口

firewall-cmd –zone=public –add-port=5432/tcp –permanent #放行端口
firewall-cmd –reload #使配置生效
firewall-cmd –zone=public –list-ports #查看一下

10 创建用户
1)创建用户qiuyb,给login权限,并设定口令

postgres=#CREATE ROLE qiuyb login encrypted password ‘qiuyb’;

2)示例给qiuyb超级用户权限

postgres=#alter user qiuyb with superuser;

PostgreSQL使用角色的概念管理数据库访问权限。 根据角色自身的设置不同,一个角色可以看做是一个数据库用户,或者一组数据库用户。
角色的概念替换了”用户”和”组”。在PostgreSQL 版本 8.1 之前,用户和组是独立类型的记录,但现在它们只是角色。 任何角色都可以是一个用户、一个组、或者两者。
数据库角色从概念上与操作系统用户是完全无关的。
3)检查

postgres=# SELECT rolname FROM pg_roles;
rolname
———-
postgres
qiuyb
(2 行记录)

postgres=# \du
List of roles
Role name | Attributes | Member of
———–+————————————————————+———–
postgres | Superuser, Create role, Create DB, Replication, Bypass RLS | {}
qiuyb | Superuser | {}

分类: Postgresql 标签: , ,
  1. 本文目前尚无任何评论.
  1. 本文目前尚无任何 trackbacks 和 pingbacks.