本节涉及PostgreSQL的安装和运行, PostgreSQL历史悠久,Linux的各大发行版都对其支持友好,基本上都有编译好的二进制包直接可供下载安装。如果想亲自体验一下PostgreSQL的源码编译过程,那么就下载源码进行DIY,过程也不复杂。
源码安装
编译步骤
假设已经安装好gcc, g++以及make
./configure
make
sudo make install
初始化
adduser postgres
mkdir /usr/local/pgsql/data
chown postgres /usr/local/pgsql/data
su - postgres
/usr/local/pgsql/bin/initdb -D /usr/local/pgsql/data
/usr/local/pgsql/bin/pg_ctl -D /usr/local/pgsql/data -l logfile start
/usr/local/pgsql/bin/createdb test
/usr/local/pgsql/bin/psql test
安装结果验证
ps -ef|grep -i post
sudo netstat -antpl|grep -i 5432
使用默认账户链接
psql -Upostgres -dpostgres
CentOS7下安装
yum install postgresql13 postgresql13-server
sudo systemctl enable postgresql-13
sudo /usr/pgsql-13/bin/postgresql-13-setup initdb
sudo systemctl start postgresql-13
CentOS7下离线安装
以postgresql 13为例,找到安装包下载地址。https://download.postgresql.org/pub/repos/yum/13/redhat/,如果是在linux下可能采用lftp打开该地址,执行如下指令下载
lftp https://download.postgresql.org/pub/repos/yum/13/redhat/rhel-7.12-x86_64/
mirror . /tmp/pg13_installer
下载完成之后,将安装包上传到目标机器,采用如下指令安装
sudo yum -y install libicu
sudo yum -y localinstall postgresql13-libs-13.2-1PGDG.rhel7.x86_64.rpm
sudo yum -y localinstall ./postgresql13-13.2-1PGDG.rhel7.x86_64.rpm ./postgresql13-server-13.2-1PGDG.rhel7.x86_64.rpm
sudo yum -y localinstall postgresql13-contrib-13.2-1PGDG.rhel7.x86_64.rpm
sudo yum -y localinstall python3-psycopg2-2.8.5-1.rhel7.x86_64.rpm pg_partman_13-4.4.1-1.rhel7.x86_64.rpm pg_repack13-1.4.6-1.rhel7.x86_64.rpm
postgresql默认的数据目录是 /var/lib/pgsql/13/data, 如果要更换默认的文件夹, 需要修改文件 /usr/lib/systemd/system/postgresql-13.service 比如下面示例中,就将数据目录更换到 /pgsql/13/data。
如果不更改默认指定目录,可以直接跳到数据库初始化步骤。
Environment=PGDATA=/pgsql/13/data/
修改完成后执行
sudo systemctl daemon-reload
数据库初始化
sudo /usr/pgsql-13/bin/postgresql-13-setup initdb