ubuntu22.04安装并初始化postgresql
- ubuntu22.04自带其实是有数据库的,通过以下命令可以查看当前数据库的版本信息
apt show postgresql
- 如果要安装新的数据库,可以执行以下命令
sudo apt update sudo apt install postgresql postgresql-contrib
postgresql-contrib 或者说 contrib 包,包含一些不属于 PostgreSQL 核心包的实用工具和功能。在大多数情况下,最好将 contrib 包与 PostgreSQL 核心 一起安装.
- 查看数据库的运行状态
sudo service postgresql status
- 重启、关闭、开启时的命令
sudo service postgresql start sudo service postgresql stop sudo service postgresql restart
- 数据库初始化
默认情况下PostgreSQL 会创建一个拥有所权限的特殊用户 postgres 。要实际使用 PostgreSQL,你必须先登录该账户:
sudo su postgres
使用 psql 来启动 PostgreSQL Shell 输入后会看到如下界面你可以输入 \q 以退出,输入 \? 获取帮助信息
查看现有的所有表,输入如下命令 \l使用 \du 命令,你可以查看 PostgreSQL 所有用户信息:
如果要修改用户的密码(包括 postgres )可以使用以下命令alter USER postgres WITH PASSWORD 'Emi123++';
注意:将 postgres 替换为你要更改的用户名, my_password 替换为所需要的密码。另外,不要忘记每条命令后面的 ; (分号)。
密码修改成功会出会ALTER ROLE 如下图:为了数据安全尽量不要使用默认用户,新建用户命令如下
CREATE USER emiuser WITH PASSWORD 'Emi123--';
此时新建的用户没有任何权限,添加权限的命令如下:
通过\du 查看新建用户
输入:q 退出当前命令框
如果想要删除当前用户DROP USER emiuser;
- 配置数据库为可以允许远程访问
默认情况下,PostgreSQL 服务器只接受来自本地(localhost)的连接请求。如果希望让 PostgreSQL 服务器监听来自任何网段的连接请求,可以通过修改配置文件的形式实现。
首先要修改配置文件的权限,因为默认情况下配置文件是只读文件
sudo chmod 777 /etc/postgresql/14/main/postgresql.conf
vim /etc/postgresql/14/main/postgresql.conf 打开文件并修改修改listen_addresses,最前面的注释符号#要去掉,将localhost改为* 允许所有用户访问.代表监听一切网段的主机的请求
除了修改这个文件外,还需要修改一个文件pg_hba.conf,同样修改前要提升一下文件权限sudo chmod 777 /etc/postgresql/14/main/pg_hba.conf
vim /etc/postgresql/14/main/pg_hba.conf 打开文件并修改
修改后:
- 重启数据库
sudo service postgresql restart