PostgreSQL15 编译安装(详细)

以下操作在debian和ubuntu直接使用,其它linux除了依赖安装,基本一致
编译安装的好处是方便自己加插件,以下用的是PostgreSQL15作为演示,PostgreSQL14也相同,其它版本也是大同小异
postgresql对sql语法的支持和规范程度超过mysql,我也是从mysql开始接触关系型数据库的,在用postgresql后提升了对关系型数据库的理解,建议一定要好好用一用


1.进入目录(/usr/local)并下载源码

官方下载地址: pgsql15.2

cd /usr/local && wget https://ftp.postgresql.org/pub/source/v15.2/postgresql-15.2.tar.gz

2.解压源代码

tar -zxvf postgresql-15.2.tar.gz && cd postgresql-15.2

3.安装相关依赖

根据自己需要的增加依赖,这里的依赖是根据下面的编译参数确定的。
以下的包都是要安装的,如果你的ssh客户端不支持多行,需要合并成一行来运行

apt-get install 
build-essential
liblz4-dev
lz4
pkg-config
libreadline-dev
zlib1g-dev
libxml2-dev libxml2
libssh-dev
uuid-dev libossp-uuid-dev

4.编译安装

编译参数,根据自己的需要添加

./configure
--enable-debug
--with-lz4
--with-openssl
--with-libxml
--with-ossp-uuid

编译安装

make && make install

5.创建用户

添加用户组

groupadd postgres

添加用户

useradd -g postgres postgres

6.创建数据目录

这里的数据存储目录是/var/pgsqldata

创建文件夹

mkdir /var/pgsqldata

转移所属权

chown postgres:postgres /var/pgsqldata

7.配置环境变量

编辑环境变量文件

vi /etc/profile

添加如下内容,并保存

export PGHOME=/usr/local/pgsql
export PGDATA=/var/pgsqldata
PATH=$PATH:$HOME/bin:$PGHOME/bin

刷新环境变量

source /etc/profile

8.切换用户并初始化数据库

su - postgres
initdb

测试启动

pg_ctl -D /var/pgsqldata -l logfile start

测试停止

pg_ctl -D /var/pgsqldata -l logfile stop

9.修改配置文件(切换回root)

修改的是存储位置的,如果你用find找可能会有多个

vi /var/pgsqldata/postgresql.conf

修改listen_addresses为listen_addresses = ‘*’,允许别的机器访问

vi /var/pgsqldata/pg_hba.conf

在ipv4的配置下添加host all all 0.0.0.0/0 trust,允许多种登录方式

10.通过systemctl管理

vi /usr/lib/systemd/system/pgsql.service

内容如下

[Unit]
Description=postgresql

[Service]
Type=forking
User= postgres
Group=postgres
ExecStart=/usr/local/pgsql/bin/pg_ctl start -D /var/pgsqldata
ExecReload=/usr/local/pgsql/bin/pg_ctl restart -D /var/pgsqldata
ExecStop=/usr/local/pgsql/bin/pg_ctl stop -D /var/pgsqldata
PrivateTmp=true

[Install]
WantedBy=multi-user.target

重新加载脚本

systemctl daemon-reload

启动并开机启动

systemctl start pgsql.service && systemctl enable pgsql.service

查看状态

systemctl status pgsql.service

11.如何管理数据库

不建议用命令行,因为如果你有多个数据库,用命令行需要登录主机或者你自己开发管理工具。
建议准备多个工具,以防一个工具出问题。
必备:pgadmin 4
其它:DBeaver、datagrip

12.默认账号密码

pgsql数据库
默认账号:postgres
默认密码:postgres
本地访问是无密码的

13.其它相关教程

在mysql被收购后,做个备用就用了postgresql,后面发现postgresql确实先进,逐步都只用postgresql了。
下面的教程逐步更新,包括但不限于:

postgresql 单机多开: postgresql 单机多开

postgresql 主从复制及主备切换:

postgresql 集群搭建:

php 配置 postgresql :

rust 配置 postgresql :

postgresql 搜索(分词、相似度、正则等):
(利用postgresql丰富的数据类型和函数来做搜索)

postgresql 优化及索引:

你可能感兴趣的:(数据库,数据库,postgresql)