postgresql源码安装
1.下载源码
cd /usr/local
wget https://ftp.postgresql.org/pub/source/v10.6/postgresql-10.6.tar.gz --no-check-certificate
2.解压
tar -zvxf postgresql-10.6.tar.gz
3.编译安装
3.1.安装配置
cd postgresql-10.6 ./configure --help # 安装依赖包 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 #./configure --prefix=/usr/local/postgresql --with-segsize=16 --with-blocksize=32 --with-wal-segsize=64 --with-wal-blocksize=64 --with-libedit-preferred --with-perl --with-python --with-openssl --with-libxml --with-libxslt --enable-thread-safety --enable-nls=en_US.UTF-8 ./configure --prefix=/usr/local/postgresql --with-wal-segsize=512 --with-wal-blocksize=16 --with-pgport=5432 --with-segsize=1 --with-blocksize=8 --with-libedit-preferred --with-perl --with-openssl --with-libxml --with-libxslt --enable-thread-safety --enable-nls=en_US.UTF-8
segsize:段尺寸,操作系统对文件的大小限制,因此一个表的文件最大不能超过文件系统规定的大小。为解决这个问题,可以将大表的文件拆分为小文件,每个文件的大小即为段设置的大小,单位为G
blocksize:块大小,数据库IO的最小单位
wal-segsize:日志段大小,即日志的大小
wal-blocksize:日志块大小,日志的最小IO单位
具体的参数可以根据实际需求修改
3.2.编译
make
3.3.安装
make install
4.创建postgresql用户,数据目录,日志目录、
useradd postgres
mkdir /usr/local/postgresql/{data,logs}
chown postgres.postgres -R /usr/local/postgresql
5.安装扩展
cd /usr/local/postgresql-10.6/contrib more README make all make install
6.初始化数据库
./pg_ctl -D /usr/local/postgresql/data initdb
7.启动数据库
/usr/local/postgresql/bin/pg_ctl -D /usr/local/postgresql/data -l /usr/local/postgresql/logs/server.log start
8.设置远程访问
#设置监听整个网络,查找“listen_addresses ”字符串, vim /usr/local/postgresql/data/postgresql.conf #修改为如下: listen_addresses = '*' #配置连接方式: vim /usr/local/postgresql/data/pg_hba.conf #修改为如下: host all all 192.168.2.0/24 md5
9.连接postgresql
bin/psql -U postgres
10.创建用户
postgres=# CREATE USER postgres SUPERUSER; CREATE ROLE postgres=# alter user postgres with password '123456'; ALTER ROLE postgres=#
bin/psql -h 192.168.2.72 -U postgres -p 5432 Password for user postgres: psql (10.6) Type "help" for help. postgres=#
#创建用户 CREATE USER dbuser; #创建数据库 CREATE DATABASE access_data OWNER dbuser;
#修改密码
alter user postgres with password '123456';
bin/psql -h 192.168.15.72 -U dbuser -d access_data -p 5432 Password for user dbuser: psql (10.6) Type "help" for help.
access_data=>
11. 设置环境变量
编辑 /etc/profile 文件,在末尾加入:
export PG_HOME=/opt/local/postgres
export PATH=$PG_HOME/bin:$PATH
再次执行 source /etc/profile即完成环境变量设置。
接下来,需要设置动态链接库的加载路径(LD_LIBRARY_PATH),否则会报找不到libpq.so.5的错误,如下:
./psql: error while loading shared libraries: libpq.so.5: cannot open shared object file: No such file or directory
设置链接库路径
sudo /sbin/ldconfig /opt/local/pgsql/lib
或通过编辑/etc/profile,加入:
LD_LIBRARY_PATH=/usr/local/pgsql/lib
export LD_LIBRARY_PATH