如何在Ubuntu 18.04 / Ubuntu 16.04上安装PostgreSQL 12

本指南介绍了如何在Ubuntu 18.04 / Ubuntu 16.04 Linux系统上安装PostgreSQL 12。 PostgreSQL是基于POSTGRES 4.2的最广泛采用的对象关系数据库管理系统之一。 PostgreSQL 12已经发布了通用版本,适用于生产和所有开发用例。

对于CentOS 7/8:如何在CentOS 7 / CentOS 8上安装PostgreSQL 12

对于Fedora:在Fedora上安装PostgreSQL 12

Debian:在Debian上安装PostgreSQL 12

是否想查看PostgreSQL 12中的所有新功能和改进? PostgreSQL 12发行说明 查看PostgreSQL 12中的主要增强功能。等待PostgreSQL 12安装在Ubuntu 18.03 Linux系统上。

步骤1:更新系统

对于新的服务器实例,我们建议您更新当前的系统软件包。

sudo apt update
sudo apt -y install vim bash-completion wget
sudo apt -y upgrade

升级后需要重新启动。

sudo reboot

步骤2:添加PostgreSQL 12存储库

您需要导入GPG密钥并将PostgreSQL 12存储库添加到您的Ubuntu计算机。为此,请运行以下命令:

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

导入GPG密钥后,将存储库内容添加到Ubuntu 18.04 / 16.04系统。

echo "deb http://apt.postgresql.org/pub/repos/apt/ `lsb_release -cs`-pgdg main" |sudo tee  /etc/apt/sources.list.d/pgdg.list

添加的存储库包含许多不同的软件包,包括第三方加载项。它们包括:

  • PostgreSQL客户端
  • PostgreSQL
  • libpq开发
  • PostgreSQL服务器开发
  • pgadmin软件包

步骤3:在Ubuntu 18.04 / Ubuntu 16.04 LTS上安装PostgreSQL 12

既然已经成功添加了存储库,请更新软件包列表并在Ubuntu 18.04 / Ubuntu 16.04 Linux系统上安装PostgreSQL 12服务器和客户端软件包。

sudo apt update
sudo apt -y install postgresql-12 postgresql-client-12

如果安装成功,您将看到与以下屏幕截图中共享的消息相似的消息。

PostgreSQL服务启动,并配置为在每次系统重新启动时启动。

$ systemctl status postgresql.service 
 ● postgresql.service - PostgreSQL RDBMS
    Loaded: loaded (/lib/systemd/system/postgresql.service; enabled; vendor preset: enabled)
    Active: active (exited) since Sun 2019-10-06 10:23:46 UTC; 6min ago
  Main PID: 8159 (code=exited, status=0/SUCCESS)
     Tasks: 0 (limit: 2362)
    CGroup: /system.slice/postgresql.service
 Oct 06 10:23:46 ubuntu18 systemd[1]: Starting PostgreSQL RDBMS…
 Oct 06 10:23:46 ubuntu18 systemd[1]: Started PostgreSQL RDBMS.

$ systemctl status [email protected] 
 ● [email protected] - PostgreSQL Cluster 12-main
    Loaded: loaded (/lib/systemd/system/[email protected]; indirect; vendor preset: enabled)
    Active: active (running) since Sun 2019-10-06 10:23:49 UTC; 5min ago
  Main PID: 9242 (postgres)
     Tasks: 7 (limit: 2362)
    CGroup: /system.slice/system-postgresql.slice/[email protected]
            ├─9242 /usr/lib/postgresql/12/bin/postgres -D /var/lib/postgresql/12/main -c config_file=/etc/postgresql/12/main/postgresql.conf
            ├─9254 postgres: 12/main: checkpointer   
            ├─9255 postgres: 12/main: background writer   
            ├─9256 postgres: 12/main: walwriter   
            ├─9257 postgres: 12/main: autovacuum launcher   
            ├─9258 postgres: 12/main: stats collector   
            └─9259 postgres: 12/main: logical replication launcher   
 Oct 06 10:23:47 ubuntu18 systemd[1]: Starting PostgreSQL Cluster 12-main…
 Oct 06 10:23:49 ubuntu18 systemd[1]: Started PostgreSQL Cluster 12-main.

$ systemctl is-enabled postgresql
enabled

步骤4:测试PostgreSQL连接

在安装过程中,将自动创建一个postgres用户。该用户已满 超级管理员 访问整个PostgreSQL实例。切换到该帐户之前,登录的系统用户必须具有sudo特权。

sudo su - postgres

让我们将此用户密码重置为易于记忆的强密码。

psql -c "alter user postgres with password '[email protected]'"

使用以下命令启动PostgreSQL提示符:

$ psql

获取连接详细信息,例如:

$ psql
psql (12.0 (Ubuntu 12.0-1.pgdg18.04+1))
Type "help" for help.

postgres=# conninfo
You are connected to database "postgres" as user "postgres" via socket in "/var/run/postgresql" at port "5432".

创建一个测试数据库和用户以查看其是否有效。

postgres=# CREATE DATABASE mytestdb;
CREATE DATABASE
postgres=# CREATE USER mytestuser WITH ENCRYPTED PASSWORD '[email protected]';
CREATE ROLE
postgres=# GRANT ALL PRIVILEGES ON DATABASE mytestdb to mytestuser;
GRANT

创建的数据库列表:

postgres=# l
                               List of databases
   Name    |  Owner   | Encoding | Collate |  Ctype  |    Access privileges    
-----------+----------+----------+---------+---------+-------------------------
 mytestdb  | postgres | UTF8     | C.UTF-8 | C.UTF-8 | =Tc/postgres           +
           |          |          |         |         | postgres=CTc/postgres  +
           |          |          |         |         | mytestuser=CTc/postgres
 postgres  | postgres | UTF8     | C.UTF-8 | C.UTF-8 | 
 template0 | postgres | UTF8     | C.UTF-8 | C.UTF-8 | =c/postgres            +
           |          |          |         |         | postgres=CTc/postgres
 template1 | postgres | UTF8     | C.UTF-8 | C.UTF-8 | =c/postgres            +
           |          |          |         |         | postgres=CTc/postgres
(4 rows)

连接到数据库:

postgres-# c mytestdb
You are now connected to database "mytestdb" as user "postgres".

其他已安装的PostgreSQL实用程序等 建立使用者创建的 可用于创建数据库和用户。

[email protected]:~$ createuser myuser --password
Password:
[email protected]:~$ createdb mydb -O myuser
[email protected]:~$ psql -l 

您可以在PostgreSQL服务器上创建并连接到数据库。

步骤5:配置远程连接(可选)

在Ubuntu上安装PostgreSQL 12仅接受来自localhost的连接。理想的生产环境应具有中央数据库服务器和连接到它的远程客户端,但是,当然, 专用网 (局域网)。

要启用远程连接,请编辑PostgreSQL配置文件。

sudo nano /etc/postgresql/12/main/postgresql.conf 

取消注释行 59 更改监听地址以接受网络中的连接。

# Listen on all interfaces
listen_addresses = '*'

# Listen on specified private IP address
listen_addresses = '192.168.10.11'

进行更改后,重新启动postgresql服务。

sudo systemctl restart postgresql

检查您的收听地址。

# netstat  -tunelp | grep 5432
tcp        0      0 0.0.0.0:5432            0.0.0.0:*               LISTEN      111        112837     11143/postgres      
tcp6       0      0 :::5432                 :::*                    LISTEN      111        112838     11143/postgres      

步骤6:安装pgAdmin4管理工具

要从Web界面管理PostgreSQL数据库服务器,请安装pgAdmin4。

在Ubuntu上安装pgAdmin4

在Ubuntu 18.04 / Ubuntu 16.04上享受PostgreSQL 12。下面的列表中共享与数据库有关的其他指南。

如何在Ubuntu上安装PostGIS

如何解决“ MySQL服务器以–secure-file-priv运行”错误

如何在Debian 10 / Debian 9上安装pgAdmin 4

如何在CentOS 7上安装pgAdmin 4

如何在FreeBSD 12上安装pgAdmin4

如何在CentOS 7上安装PostGIS

标签

  • 在Ubuntu 18.04上安装PostgreSQL 12
  • 在Ubuntu 16.04上安装PostgreSQL 12
  • 在Ubuntu上安装PostgreSQL 12
  • 在Ubuntu 18.04上安装PostgreSQL 12
  • 在Ubuntu 16.04上安装PostgreSQL 12
Sidebar