1 PostgreSQL安装
sudo apt update 命令后,执行以下安装命令
1.1 PostgreSQL安装命令
sudo apt install postgresql postgresql-contrib
此命令一般会安装Ubuntu中默认能够安装的最高版本,安装后获取版本号。
psql --version
psql (PostgreSQL) 12.9 (Ubuntu 12.9-0ubuntu0.20.04.1)
1.2 PostgreSQL启动、停止、重启与状态查询命令
- sudo service postgresql status 用于检查数据库的状态。
- ps -ef | grep postgresql 用于显示postgresql进程状态。
- sudo service postgresql start 用于开始运行数据库。
- sudo service postgresql stop 用于停止运行数据库。
- sudo service postgresql restart 用于重启运行数据库。
sudo service postgresql status
12/main (port 5432): down
sudo service postgresql start
* Starting PostgreSQL 12 database server [ OK ]
sudo service postgresql status
12/main (port 5432): online
sudo service postgresql stop
* Stopping PostgreSQL 12 database server [ OK ]
sudo service postgresql status
12/main (port 5432): down
sudo service postgresql restart
* Restarting PostgreSQL 12 database server [ OK ]
sudo service postgresql status
12/main (port 5432): online
1.3 PostgreSQL登录
1.3.1 为账户postgres添加密码
PostgreSQL数据库安装完成后会建立名为postgres的用户、名为postgres的用户组。
# 查看系统用户
sudo cat /etc/shadow
# 查看系统用户组
sudo cat /etc/group
账户postgres(此处的账户为系统安装数据库时创建的系统用户,不是数据库中的账户) 需要为postgres用户设置密码才能连接到数据库。
sudo passwd postgres
New password:
Retype new password:
passwd: password updated successfully
1.3.2 登录PostgreSQL数据库
初次登录数据时,数据库中的管理员用户postgres没有设置密码,需要使用系统中创建的postgres用户登录数据库,然后为数据库postgres管理员用户设置密码
sudo -u postgres psql
psql (12.9 (Ubuntu 12.9-0ubuntu0.20.04.1))
Type "help" for help.
postgres=#
登录成功后
1.3.3 为数据库postgres管理员用户设置密码
alter role postgres with password '0';
设置完密码之后重启PostgreSQL服务
sudo service postgresql resart
1.3.4 数据库日常登录访问
上述登录方式为利用sudo权限且转换postgres用户登录数据库,通常情况下采用的是利用Linux的常用用户登录数据库,通常出现如下错误:
(base) zhou@ZHOU-PC:~$ psql -U postgres
psql: error: FATAL: Peer authentication failed for user "postgres"
此错误在于此时数据库登录验证默认方式为peer模式,需要修改登录模式为trust模式,登录模式修改配置文件地址位于:/etc/postgresql/12/main/pg_hba.conf
完成修改后,重启postgresql服务后再次登录数据库
重启postgresql服务
sudo service postgresql restart
* Restarting PostgreSQL 12 database server [ OK ]
(base) zhou@ZHOU-PC:~$ psql -U postgres
psql (12.9 (Ubuntu 12.9-0ubuntu0.20.04.1))
Type "help" for help.
postgres=#
2 设置PostgreSQL远程访问
安装完PostgreSQL后默认只允许本地访问,若要能远程连接访问则需要对配置文件进行设置。
配置文件位置:/etc/postgresql/12/main/
zhou@ZHOU-PC:/etc/postgresql/12/main$ ls -la
total 64
drwxr-xr-x 3 postgres postgres 4096 Feb 17 09:18 .
drwxr-xr-x 3 postgres postgres 4096 Feb 17 09:18 ..
drwxr-xr-x 2 postgres postgres 4096 Feb 17 09:18 conf.d
-rw-r--r-- 1 postgres postgres 315 Feb 17 09:18 environment
-rw-r--r-- 1 postgres postgres 143 Feb 17 09:18 pg_ctl.conf
-rw-r----- 1 postgres postgres 4933 Feb 17 09:18 pg_hba.conf
-rw-r----- 1 postgres postgres 1636 Feb 17 09:18 pg_ident.conf
-rw-r--r-- 1 postgres postgres 26910 Feb 17 09:18 postgresql.conf
-rw-r--r-- 1 postgres postgres 317 Feb 17 09:18 start.conf
-
pg_hba.conf:数据库访问权限的配置;
-
postgresql.conf:PostgreSQL数据库服务器相应参数的配置。
2.1 数据库访问权限配置 pg_hba.conf
在上面语句下加入语句 :host all all 0.0.0.0/0 md5
2.2 数据库服务器参数配置 postgresql.conf
将数据库服务器的监听模式修改为监听所有主机发出的连接请求。
定位到#listen_addresses=’localhost’。PostgreSQL安装完成后,默认是只接受来在本机localhost的连接请求。
复制一行新的并将行开头都#去掉,将行内容修改为listen_addresses=’*'来允许数据库服务器监听来自任何主机的连接请求。
2.3 重启PostgreSQL服务实现远程连接
重启之后远程连接时有时还会出现无法连接的情况,需要在psql命令行中对postgres管理员用户的密码进行设置。
alter role postgres with password '0';
再次重启服务之后连接就可以了。
3 卸载PostGreSQL12
卸载命令
sudo apt --purge remove postgresql\*
删除相关文件
sudo rm -r /etc/postgresql/
sudo rm -r /etc/postgresql-common/
sudo rm -r /var/lib/postgresql/
删除postgres用户和用户组
sudo userdel -r postgres
sudo groupdel postgres