01.安装postgresql
postgreSql 是在linux上
去官网找按照的方式
选择好postgreSql 的版本,已经Linux的发行版本
拿到命令,直接扔到Linux中运行即可
# 下载PGSQL的rpm包
sudo yum install -y https://download.postgresql.org/pub/repos/yum/reporpms/EL-7-x86_64/pgdg-redhat-repo-latest.noarch.rpm
# 安装PGSQL12的软件程序,需要下载,需要等一会,一般不会失败,即便失败,他也会重新帮你找镜像
sudo yum install -y postgresql12-server
# 数据库初始化
sudo /usr/pgsql-12/bin/postgresql-12-setup initdb
# 设置开启启动项,并设置为开启自行启动
sudo systemctl enable postgresql-12
# 启动PGSQL
sudo systemctl start postgresql-12
最终执行结果,如下图:
重点配置
进入目录: cd /var/lib/pgsql/12/data ,基本配置都在这个目录下:
从上图可以看到,postgreSQL的核心文件,都属于postgres用户,所以,操作的时候,尽可能的别用root用户(linux的),容易出错,尽可能先切换到postgres用户,再去操作。
主要操作的是postgresql.conf和pg_hba.conf。
PostgreSQL默认情况下不支持远程连接的,这个跟MySQL几乎一样
MySQL给mysql.user追加用户,一般是采用grant的命令去配置。
PostgreSQL要基于配置文件修改,配置用户是否可以远程连接。
01.配置postgresql.conf
postgresql.conf是PostgreSQL的主要配置文件,它包含了许多数据库服务器的全局设置选项。通过修改这个文件,您可以配置数据库服务器的各种参数,如监听地址、端口号、最大连接数、日志记录等。这个文件的修改通常需要重启数据库服务器才能生效。
默认情况下,PostgreSQL只允许localhost连接,直接配置为*即可
02.配置pg_hba.conf
pg_hba.conf是PostgreSQL的身份验证配置文件,它定义了哪些客户端可以连接到数据库服务器以及如何进行身份验证。通过修改这个文件,您可以控制访问数据库的权限,配置不同用户的身份验证方法,以及定义访问控制规则。修改pg_hba.conf文件后,通常需要重新加载配置或重启数据库服务器才能使更改生效。
修改/var/lib/pgsql/12/data/pg_hba.conf配置文件,初始配置如下:
用户以及对应数据库和连接方式的编写模板
# 第一块
local:代表本地连接,host代表可以指定连接的ADDRESS
# 第二块
database编写数据库名,如果写all,代表所有库都可以连接
# 第三块
user编写连接的用户,可以写all,代表所有用户
# 第四块
address代表那些IP地址可以连接
# 第五块
method加密方式,这块不用过多关注,直接md5
# 直接来个痛快的配置吗,允许任意地址的全部用户连接所有数据库
host all all 0.0.0.0/0 md5
记得,为了生效,一定要重启
# postgres密码不管,直接root用户
sudo systemctl restart postgresql-12
配置数据库的日志
查看postgresql.conf文件
postgreSQL默认情况下,只保存7天的日志,循环覆盖。
# 代表日志是开启的。
logging_collector = on
# 日志存放的路径,默认放到当前目录下的log里
log_directory = 'log'
# 日志的文件名,默认是postgresql为前缀,星期作为后缀
log_filename = 'postgresql-%a.log'
# 默认一周过后,日志文件会被覆盖
log_truncate_on_rotation = on
# 一天一个日志文件
log_rotation_age = 1d
# 一个日志文件,没有大小限制
log_rotation_size = 0
图形化界面(windows远程控制)
Navicat
配置连接信息:这里的postgre是超级用户。密码是自己写的(后期自己写的),也可以不写
02.postgreSql 讲解
PostgreSQL不推荐使用root管理,在安装成功postgreSQL后,他默认会给你创建一个用户:postgres,无密码,
可以修改密码:ALTER USER postgres WITH PASSWORD ‘新密码’
postgres 是一个超级用户
01 以超级用户身份登录到PostgreSQL数据库:sudo -u postgres psql
02 查看有哪些库:\l,如下,有三个库,分别是postgres,template0,template1
03 退出PostgreSQL:\q
查阅所有的数据库 \l
创建一个用户pg4e
创建一个数据库 people 所有者是pg4e
编写psql命令尝试去用pg4e用户登录
登录:psql -h 主机名 -p 端口 -U 用户名 -W
psql -h 192.168.11.32 -p 5432 -U pg4e -W
启动这个数据库
查看这个数据库的关系 \dt
创建一个关系 CREATE TABLE 关系名(属性 类型 ,);
查看一个关系的信息 \d +关系名