一下载tar.gz包
官网https://www.postgresql.org/download/
二`解压文件,下载编译环境
tar -xvzf **.tar.gz
yum -y install gcc
yum -y install readline
yum -y install readline-devel
yum -y install zlib-devel
三检查编译(结尾没有error报错即可)
检查通过后,将生成用于编译的makefile文件。此时可以进行编译
./configure
–prefile=目录
指定软件安装目录,PG所有文件都会被默认安装到该目录的子目录下。如果不指定该选择,则默认/usr/local/pgsql。
–exec-prefix=目录
在安装目录下指定目录,用于存放与体系结构相关的文件。如果不指定,则使用软件安装目录。
–bindir=目录
存放PG的可执行程序,也就是–exec-prefix=目录/bin目录。
–sysconfdir=目录
指定目录,用于存放各种配置文件
–datadir=目录
指定目录,用于存放安装程序使用的只读数据文件
–with-extra-version=STRING
将STRING追加到PG版本号后面。
–with-pgport=端口
指定PG端口号,默认:5432
–with-python
构建PL/Python服务端语言,需要安装python-devel包
–with-perl
构建PL/perl服务端语言
–with-openssl
启用SSL加密连接,需要安装openssl-devel包
–with-systemd
使用systemd来管理PG启停,需要安装systemd-devel包
–without-readline
禁用psql命令行记录历史命令功能,无特殊情况不需要指定该选项。
–with-segsize=SEGSIZE
设置段大小,以G为单位。大表被分成多个操作系统文件,每个文件的大小都等于段的大小(默认1G)。这避免了存在于许多平台上的文件大小限制问题。默认的段大小为1G,在所有支持的平台上都是安全的。如果您的操作系统支持“largefile”(现在大多数都支持),那么您可以使用更大的段大小。这有助于减少在处理非常大的表时使用的文件描述符的数量。但是要注意,不要选择比您的平台和您打算使用的文件系统所支持的值更大的值。您可能希望使用的其他工具,如tar,也可以设置可用文件大小的限制。建议(虽然不是绝对必需的)这个值是2的幂。注意,更改这个值需要initdb来初始化数据库。
–with-blocksize=BLOCKSIZE
块大小,单位:K。这是存储和I/O的最小单位,默认8 K。不建议修改
–with-wal-blocksize=BLOCKSIZE
WAL块大小,单位KB,是WAL I/O和存储的单元,范围1-64,且必须是2的N次方。
–enable-debug
开启DEBUG模式,用来跟踪问题。生产环境禁用。
————————————————
版权声明:本文为CSDN博主「Expect-乐」的原创文章,遵循CC 4.0 BY-SA版权协议,转载请附上原文出处链接及本声明。
原文链接:https://blog.csdn.net/qianglei6077/article/details/94379298
四编译
make
出现All of PostgreSQL successfully made. Ready to install.即可
五安装
mkdir -p /usr/local/pgsql
make install
最后一行出现PostgreSQL installation complete.即可
六初始化数据库
mkdir -p /usr/local/pgsql/data
./initdb --encoding=utf8 -D /usr/local/pgsql/data
出现Success. You can now start the database server using:即可
七启动数据库
./pg_ctl -D /usr/local/pgsql/data -l /usr/local/pgsql/log/pg_server.log start
登录数据库,默认用户postgres
./psql -Upostgres -p5432
修改用户密码:ALTER USER postgres WITH PASSWORD 'postgres'
八设置可以远程登录
vim /usr/local/pgsql/data/postgresql.conf
listen_addresses= ‘localhost’改为listen_addresses = ‘*’
password_encryption= on改为password_encryption = on
vim /usr/local/pgsql/data/pg_hba.conf
在ipv4下面添加
host all all 0.0.0.0/0 md5
可以通过select rolname,rolpassword from pg_authid;
select usename,passwd from pg_shadow;
查询数据库用户和密码,如果没有密码可以通过第七步修改密码
九、设置pg的开机自启
Linux文件复制到 /etc/init.d 目录下,并且将其重命名
cp /usr/local/postgresql-10.6/contrib/start-scripts/linux /etc/init.d/pgsql
修改pgsql文件
vim pgsql
prefix=/usr/local/pgsql
# Data directory
PGDATA="/usr/local/pgsql/data"
# Who to run the postmaster as, usually "postgres". (NOT "root")
PGUSER=postgres
# Where to keep a log file
PGLOG="$PGDATA/log/pg_server.log"
赋予权限
chmod 777 pgsql
添加开机自启
chkconfig --add pgsql
错误
一、configure: error: no acceptable C compiler found in $PATH
解决:yum -y install gcc
二、configure: error: readline library not found
解决:
yum -y install readline
yum -y install readline-devel
三、configure: error: zlib library not found
解决:
yum -y install zlib-devel
四、/usr/bin/mkdir: 无法创建目录"/usr/local/pgsql": 权限不够
创建一个pgsql文件,赋予权限和组别
解决
chown postgres:postgres pgsql/
chmod -R 777 pgsql/
五、pg[install-common-recurse] 错误 2,[common-recursive] 错误 2
(缺少openssl的库)
解决
yum -y install openssl-devel