如何在Ubuntu 18.04安装PostgreSQL服务器?

目的

PostgreSQL作为一个全球支持的开源数据库,拥有超过30年历史,得益于各种可用的插件,它以健壮性、可伸缩性和性能而闻名。
首先,如果要完成PostgreSQL的安装与使用,需要通过SSH连接连接到服务器,您可以通过有关教程进行连接。若是本地服务器,则进入下一步,打开服务器的终端。

PostgreSQL安装

要继续安装PostgreSQL,请使用apt包管理器。确保更新缓存:

$ sudo apt update && sudo apt install postgresql postgresql-contrib

使用systemctl start命令确保服务器正在运行:

sudo systemctl start postgresql.service

验证安装

现在你已经完成了Ubuntu上Postgres的安装,各项服务将自动启动。作为第一步,通过用psql连接到PostgreSQL数据库来验证安装。
psql是一个命令行工具,用来与PostgreSQL服务器交互。这将输出服务器的版本。

sudo -u postgres psql -c "SELECT version();"

要以postgre用户的身份登录PostgreSQL,你可以使用psql。可以按照下面的方式进行:

sudo su – postgres

要使用PostgreSQL,请输入:

psql

它将授予你对PostgreSQL实例的访问权。如果要退出,可以使用:

\q

管理用户和权限

如前所述,PostgreSQL假设其服务中存在的每个用户也存在于系统中。为了创建一个新的用户,首先通过adduser把它添加到系统中。

$ sudo adduser tutorial


在下面的例子中,正在创建一个名为 “tutorial “的用户,没有指定其他信息。一旦完成,就可以创建PostgreSQL用户。首先用postgres用户登录。

$ sudo -i -u postgres
$ createuser --interactive


创建完用户后,设置一个密码,通过超级用户postgres登录,并改变你刚刚创建的用户。

$ psql postgres=# ALTER USER tutorial PASSWORD 'password'; ALTER ROLE;

也可以通过运行该命令为新创建的用户创建一个数据库。

$ createdb tutorial

完成后,退出并尝试用新创建的用户登录。

$ sudo -i -u tutorial

启用对外部客户的访问

在某些情况下,可能需要允许外部客户(例如你的机器)访问服务器上的一个或多个数据库。通常情况下,PostgreSQL不被配置为接受非本地的连接,所以要修改一些配置文件。
第一个要修改的文件是主配置文件,在

/etc/postgresql/10/main/postgresql.conf.

请确保编辑

listen_addresses = 'localhost'

和:

listen_addresses = '*'

通过这种方式,你通知PostgreSQL期望从任何网络接口进入的连接。
请确保保存你的修改,继续编辑/etc/postgresql/10/main/pg_hba.conf中管理服务器访问规则的文件,添加以下一行。

host    tutorial        tutorial 0.0.0.0/0               md5

这种修改允许 “tutorial “用户从任何主机访问它的数据库。而它的意思是:

  1. host: 你接受的连接类型。可能的值是:
    · local: 来自系统的非网络连接
    · host: 任何类型的TCP / IP连接
    · hostssl: 仅在SSL协议下的TCP / IP连接
  2. tutorial: 数据库名称要允许访问,用“all”指代所有数据库
  3. tutorial: 用户名授予访问权限
  4. 0.0.0.0/0: IP地址,在您的情况下,您正在授权访问任何IPv4地址
  5. md5: 公认的认证方法,其中一些重要的是:
    · md5: 密码身份验证
    · trust: 无条件接受连接
    · peer: 使用系统用户名只连接同名的数据库

要了解更多信息,请访问地址 https://www.postgresql.org/docs/9.1/auth-pg-hba-conf.html 或官方PostgreSQL文档。
完成之后,请重新启动服务以使所有更改生效:

$ sudo systemctl restart postgresql
您的免费试用从这里开始!
联系我们的团队申请物理服务器服务!
注册成为会员,尊享专属礼遇!
您的免费试用从这里开始!
联系我们的团队申请物理服务器服务!
注册成为会员,尊享专属礼遇!
Telegram Skype