PostgreSQL安装和运行

本节涉及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

GUI

BeeKeeper