Ubuntu系统上安装和配置PostgreSQL数据库流程
作者:admin | 时间:2020-11-18 21:05:36

Ubuntu上安装PostgreSQL

PostgreSQL在Ubuntu主存储库中可用,但是,与许多其他开发工具一样,它可能不是最新版本。

首先使用终端中的apt命令检查Ubuntu存储库中可用的PostgreSQL版本:

apt show postgresql

在我的Ubuntu 18.04中,它显示PostgreSQL的可用版本是版本10(10+190表示版本10),而PostgreSQL 11版本已经发布,参考在Ubuntu 18.04/Ubuntu 16.04上安装PostgreSQL 11的说明:

Package: postgresql

Version: 10+190

Priority: optional

Section: database

Source: postgresql-common (190)

Origin: Ubuntu

根据这些信息,你可以考虑是否要安装Ubuntu提供的版本,或者你想获得最新发布的PostgreSQL版本,下面介绍这两种方法。

方法1:从Ubuntu存储库安装PostgreSQL

在终端中,使用以下命令安装PostgreSQL:

sudo apt update

sudo apt install postgresql postgresql-contrib

介绍:什么是postgresql-contrib?

postgresql-contrib或contrib包包含一些不属于核心PostgreSQL包的其他实用程序和功能,在大多数情况下,最好将contrib包与PostgreSQL核心一起安装。

方法2:在Ubuntu中安装PostgreSQL的最新版本11

要安装PostgreSQL 11,需要在sources.list中添加官方PostgreSQL存储库,添加其证书,然后从那里安装它,只需按照以下步骤操作。

首先添加GPG密钥:

wget --quiet -O - https://www.postgresql.org/media/keys/ACCC4CF8.asc | sudo apt-key add -

现在使用以下命令添加存储库,如果你使用的是Linux Mint,则必须手动替换Mint版本所基于的Ubuntu版本的`lsb_release -cs`。

sudo sh -c 'echo "deb http://apt.postgresql.org/pub/repos/apt/ `lsb_release -cs`-pgdg main" >> /etc/apt/sources.list.d/pgdg.list'

现在一切都准备好了,使用以下命令安装PostgreSQL:

sudo apt update

sudo apt install postgresql postgresql-contrib

介绍:PostgreSQL GUI应用程序:

你还可以安装用于管理PostgreSQL数据库的GUI应用程序(pgAdmin):

sudo apt install pgadmin4

参考:Ubuntu/Debian 上安装pgAdmin 4的方法

 

配置PostgreSQL

可以通过执行以下命令检查PostgreSQL是否正在运行:

service postgresql status

通过service命令,还可以启动,停止或重新启动postgresql,键入服务postgresql并按Enter键应输出所有选项,现在,进入用户。

默认情况下,PostgreSQL创建一个具有所有权限的特殊用户postgres,要实际使用PostgreSQL,必须先登录该帐户:

sudo su postgres

你的提示应更改为类似于:

postgres@ubuntu-VirtualBox:/home/ubuntu$

现在,使用实用程序psql运行PostgreSQL Shell:

psql

系统会提示你:

postgress=#

你可以输入q来退出和?求助。

要查看所有现有表,请输入:

l

输出看起来与此类似(点击键q退出此视图):

ubuntu.jpg


使用du,可以显示PostgreSQL用户:

postgres.jpg


你可以使用以下命令更改任何用户(包括postgres)的密码:

ALTER USER postgres WITH PASSWORD 'my_password';

注意:将postgres替换为用户名,将my_password替换为所需密码。

建议你创建另一个用户(使用默认的postgres用户是不好的做法),为此,请使用以下命令:

CREATE USER my_user WITH PASSWORD 'my_password';

如果你运行du,你会看到my_user还没有属性,让我们为它添加超级用户:

ALTER USER my_user WITH SUPERUSER;

可以删除用户:

DROP USER my_user;

要以其他用户身份登录,请退出提示符(q),然后使用以下命令:

psql -U my_user

你可以使用-d参数直接连接到数据库:

psql -U my_user -d my_db

你应该像其他现有用户一样调用PostgreSQL用户,例如我用的是ubuntu,下面要登录,运行:

psql -U ubuntu -d postgres

注意:你必须指定一个数据库(默认情况下,它会尝试将你连接到与你登录的用户名称相同的数据库)。

如果有错误:

psql: FATAL:  Peer authentication failed for user "my_user"

确保你以正确的用户身份登录并使用管理员权限编辑/etc/postgresql/11/main/pg_hba.conf:

sudo vim /etc/postgresql/11/main/pg_hba.conf

注意:将11替换为你的版本(例如10)。

在这里,替换行:

local all  postgres  peer

With:

local all  postgres  md5

然后重启PostgreSQL:

sudo service postgresql restart

注:使用PostgreSQL与使用任何其他SQL类型数据库相同。


资讯内容

诚信为本,卓越品质,做行业领跑者