Postgres 源码编译安装
一.环境准备
1.操作系统
基于 WSL 安装的 Debian 操作系统
2.源码包地址
找到 Postgres 官网 源码包下载页面,右键想要安装的包版本,复制链接地址
二.安装命令
Postgres 安装
1.创建安装目录
mkdir /usr/local/postgres
2.下载源码包(在任意位置下载,安装完成后可以删除安装包)
wget https://ftp.postgresql.org/pub/source/v15rc2/postgresql-15rc2.tar.bz2
3.解压(注意:xjvf)
tar xjvf postgresql-15rc2.tar.bz2
4.设置安装目录
cd postgresql-15rc2 && ./configure --prefix=/usr/local/postgres
5.根据提示安装缺少的库,当前系统缺少:readline
在 Debian 则安装:sudo apt install -y libreadline-dev
在 Centos 则安装:yum install -y readline-deve
重新配置则检查通过
6.编译和安装(需要一些时间)
make && make install
7.创建用户(已存在则不需要)
adduser postgres
8.创建库目录并修改权限
mkdir -p /mnt/data/postgres && chown -R postgres:postgres /mnt/data/postgres
9.创建软连接
ln -s /usr/local/postgres/bin/pg_ctl /usr/local/bin/pgsql_ctl
10.初始化数据库目录
su postgres -c "/usr/local/postgres/bin/initdb -D /mnt/data/postgres"
10.启动数据库
su postgres -c "pgsql_ctl start -D /mnt/data/postgres"
12.验证版本
sudo -u postgres /usr/local/postgres/bin/psql -c "SELECT version();"
13.命令行建库、建表、插入数据测试(SQL 语句结束后一定要加';' 否则控制台认为SQL未结束)
进入命令行:sudo -u postgres /usr/local/postgres/bin/psql
建库(Schemaname 默认为 Public):create database wiki_animal_db;
查看已有数据库:\l
进入指定数据库:\c dbname
建表:
create table tb_animal_rabbit(
id integer,
coat_color integer,
place_of_orign varchar,
primary key(id)
);
查看表:\d
插入数据:insert into tb_animal_rabbit values (1,0,'China');
查询数据:select * from tb_animal_rabbit ;
删除表:drop table if exists tb_animal_rabbit;
删除库:drop database wiki_animal_db ;
连接时直接指定库:sudo -u postgres /usr/local/postgres/bin/psql -d wiki_animal_db
查看连接情况:\c
14.远程连接(默认情况下只允许本地访问)
开放访问权限:vim /mnt/data/postgres/pg_hba.conf 追加一行(通过MD5进行登陆密码校验):host all all 0.0.0.0/0 md5
开放全地址监听:vim /mnt/data/postgres/postgresql.conf 增加一行(还可通过此文件配置端口、连接数等):listen_addressrd = '*'
为用户设置密码:sudo -u postgres /usr/local/postgres/bin/psql -c "alter user postgres with password '123456';"
重启服务(指定数据目录,也可将该路劲设为环境变量 EXPORT PGDATA=/mnt/data/postgres):su postgres -c "pgsql_ctl restart -D /mnt/data/postgres"
三.截图说明
1.配置安装目录
如果执行 configure 报错,就根据提示安装依赖库,注意:提示的库名并不一定是能直接安装的包名,直接按提示名安装不上时,可查询其是否为某个包下的子库
2.编译和安装(忘了截图)
3.初始化数据库
4.启动数据库
5.查看版本
6.建库/建表/插入查询
直接访问指定库
7.修改密码并重启服务
需要在第 8 步,将本地访问权限修改为 md5 校验后,本地连接才需要密码,否则本地仍然可以直接访问
8.开启远程访问支持
修改权限
修改监听
四.Postgres环境变量值
名称 | 含义 |
---|---|
PGHOST | 命令行连接数据库默认地址 |
PGPORT | 命令行连接数据库默认端口 |
PGUSER | 命令行连接数据库默认用户名 |
PGPASSWORD | 命令行连接数据库默认密码,配置后则不需要手动输入 |
五.切换默认模板编码格式
update pg_database set datallowconn = TRUE where datname = 'template0';
update pg_database set datistemplate = FALSE where datname = 'template1';
drop database template1;
create database template1 with encoding = 'UTF8' LC_CTYPE = 'en_US.UTF-8' LC_COLLATE = 'en_US.UTF-8' template = template0;
update pg_database set datallowconn = TRUE where datname = 'template1';
update pg_database set datallowconn = FALSE where datname = 'template0';