介绍
PostgreSQL是一种对象-关系型数据库管理系统,由加州大学伯克利分校计算机系开发,以POSTGRES,4.2版本为基础。
PostgreSQL支持大部分的SQL标准并且提供了很多其他现代特性,如复杂查询、外键、触发器、视图、事务完整性、多版本并发控制等。它也可以用许多方法扩展,例如通过增加新的数据类型、函数、操作符、聚集函数、索引方法、过程语言等。任何人都可以以任何目的免费使用、修改和分发PostgreSQL。
官网
https://www.postgresql.org/
安装
- 导入yum源
yum install -y https://download.postgresql.org/pub/repos/yum/reporpms/EL-7-x86_64/pgdg-redhat-repo-latest.noarch.rpm
# 切换到阿里源
sed -i "s@https://download.postgresql.org/pub@https://mirrors.aliyun.com/postgresql@g" /etc/yum.repos.d/pgdg-redhat-all.repo
- 安装服务
yum install -y postgresql12 postgresql12-server
#安装PostgreSQL 11
yum install -y postgresql12 postgresql11-server
#安装PostgreSQL 9.5
yum install -y postgresql95 postgresql95-server
- 初始化数据库
sudo /usr/pgsql-12/bin/postgresql-12-setup initdb
#Initializing database ... OK
- 启动服务并配置开机自启
systemctl enable postgresql-12 --now
# 9.x版本的服务名是postgresql-9.x
修改账号密码
- 进入命令行
# 通过su命令切换linux用户为postgres会自动进入命令行
su postgres
- 启动SQL Shell
psql
- 修改密码
ALTER USER postgres WITH PASSWORD 'NewPassword';
配置远程访问
- 开放端口
# 防火墙禁用状态下,无需变更
sudo firewall-cmd --add-port=5432/tcp --permanent
sudo firewall-cmd --reload
- 修改IP绑定
#修改配置文件
vi /var/lib/pgsql/12/data/postgresql.conf
#将监听地址修改为*
#默认listen_addresses配置是注释掉的,所以可以直接在配置文件开头加入该行
listen_addresses='*'
- 允许所有IP访问
#修改配置文件
vi /var/lib/pgsql/12/data/pg_hba.conf
#在文件尾部加入
host all all 0.0.0.0/0 md5
- 重启服务
#重启PostgreSQL服务
sudo systemctl restart postgresql-12
Shell常用语法示例
- 切换用户,启动SQL
su -i -u postgres
psql
- 数据库相关
#创建数据库
CREATE DATABASE mydb;
#查看所有数据库
\l
#切换当前数据库
\c mydb
#创建表
CREATE TABLE test(id int,body varchar(100));
#查看当前数据库下所有表
\d
- 用户与访问授权语法
#新建用户
CREATE USER test WITH PASSWORD 'test';
#赋予指定账户指定数据库所有权限
GRANT ALL PRIVILEGES ON DATABASE mydb TO test;
#移除指定账户指定数据库所有权限
REVOKE ALL PRIVILEGES ON DATABASE mydb TO test
# 权限代码:SELECT、INSERT、UPDATE、DELETE、TRUNCATE、REFERENCES、TRIGGER、CREATE、CONNECT、TEMPORARY、EXECUTE、USAGE
参考文档
PostgreSQL 教程
https://www.runoob.com/postgresql/postgresql-tutorial.html
分享、在看与点赞
只要你点,我们就是胖友