Ubuntu(WSL)安装PostgreSQL

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

猜你喜欢

转载自blog.csdn.net/gandongusa/article/details/122976047