以下操作在debian和ubuntu直接使用,其它linux除了依赖安装,基本一致
编译安装的好处是方便自己加插件,以下用的是PostgreSQL15作为演示,PostgreSQL14也相同,其它版本也是大同小异
postgresql对sql语法的支持和规范程度超过mysql,我也是从mysql开始接触关系型数据库的,在用postgresql后提升了对关系型数据库的理解,建议一定要好好用一用
官方下载地址: pgsql15.2
cd /usr/local && wget https://ftp.postgresql.org/pub/source/v15.2/postgresql-15.2.tar.gz
tar -zxvf postgresql-15.2.tar.gz && cd postgresql-15.2
根据自己需要的增加依赖,这里的依赖是根据下面的编译参数确定的。
以下的包都是要安装的,如果你的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
编译参数,根据自己的需要添加
./configure
--enable-debug
--with-lz4
--with-openssl
--with-libxml
--with-ossp-uuid
编译安装
make && make install
添加用户组
groupadd postgres
添加用户
useradd -g postgres postgres
这里的数据存储目录是/var/pgsqldata
创建文件夹
mkdir /var/pgsqldata
转移所属权
chown postgres:postgres /var/pgsqldata
编辑环境变量文件
vi /etc/profile
添加如下内容,并保存
export PGHOME=/usr/local/pgsql
export PGDATA=/var/pgsqldata
PATH=$PATH:$HOME/bin:$PGHOME/bin
刷新环境变量
source /etc/profile
su - postgres
initdb
测试启动
pg_ctl -D /var/pgsqldata -l logfile start
测试停止
pg_ctl -D /var/pgsqldata -l logfile stop
修改的是存储位置的,如果你用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,允许多种登录方式
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
不建议用命令行,因为如果你有多个数据库,用命令行需要登录主机或者你自己开发管理工具。
建议准备多个工具,以防一个工具出问题。
必备:pgadmin 4
其它:DBeaver、datagrip
pgsql数据库
默认账号:postgres
默认密码:postgres
本地访问是无密码的
在mysql被收购后,做个备用就用了postgresql,后面发现postgresql确实先进,逐步都只用postgresql了。
下面的教程逐步更新,包括但不限于:
postgresql 单机多开: postgresql 单机多开
postgresql 主从复制及主备切换:
postgresql 集群搭建:
php 配置 postgresql :
rust 配置 postgresql :
postgresql 搜索(分词、相似度、正则等):
(利用postgresql丰富的数据类型和函数来做搜索)
postgresql 优化及索引: