在Ubuntu 20.04/18.04/16.04上安装PostgreSQL 11

时间:2020-02-23 14:32:19  来源:igfitidea点击:

此简短教程将在Ubuntu 20.04/18.04/16.04上安装PostgreSQL 11.
PostgreSQL Server是一个强大的开源和高度可扩展的数据库服务器。
PostgreSQL提供对象关系数据库系统,允许我们管理广泛的SQL数据集。

关键PostgreSQL 11增强功能:

分区功能的改进,支持嵌入的交易到并行性的交易管理程序的过程现在支持SQL:2011 Standardoptional即时(JIT)编译中所示的所有帧选项,用于一些SQL代码,加快对表现形式改进的评估,包括避免的能力表格重写用于alter table ...添加具有非空列的列,现在可以使用Create Index的include子句创建一个非空列DefaultCovering索引

按照下一节中提供的步骤在Ubuntu 20.04/18.04/16.04上安装PostgreSQL 11.

第1步:更新系统并安装依赖项

如果是新服务器实例,建议更新当前系统包。

sudo apt update && sudo apt -y upgrade
sudo reboot

重新启动系统后,安装 vimwget如果尚未安装。

sudo apt install -y wget vim

步骤2:添加PostgreSQL 11 APT存储库

在向Ubuntu 20.04/18.04/16.04系统添加存储库内容之前,我们需要导入存储库签名密钥:

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

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

RELEASE=$(lsb_release -cs)
echo "deb http://apt.postgresql.org/pub/repos/apt/${RELEASE}"-pgdg main | sudo tee  /etc/apt/sources.list.d/pgdg.list

验证存储库文件内容

$cat /etc/apt/sources.list.d/pgdg.list
deb http://apt.postgresql.org/pub/repos/apt/bionic-pgdg main

第3步:在Ubuntu 20.04/18.04/16.04上安装PostgreSQL 11

最后一个安装步骤适用于PostgreSQL 11 Packages。
运行以下命令以在Ubuntu 20.04/18.04/16.04上安装PostgreSQL 11.

sudo apt update
sudo apt -y install postgresql-11

第4步:允许从远程主机访问PostgreSQL

默认情况下,对PostgreSQL数据库服务器的访问仅是来自localhost的。

$sudo ss -tunelp | grep 5432
tcp   LISTEN  0  128  127.0.0.1:5432         0.0.0.0:*      users:(("postgres",pid=15785,fd=3)) uid:111 ino:42331 sk:6 <->

要允许网络访问,请编辑配置文件:

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

在"连接"和"身份验证"部分下添加以下行。

listen_addresses = '*'

我们还可以指定服务器IP地址

listen_addresses = '192.168.17.12'

请参阅下面的屏幕截图。

别忘了重启 postgresql改变后的服务

sudo systemctl restart postgresql

确认PostgreSQL的BIND地址:

$sudo ss -tunelp | grep 5432
tcp   LISTEN  0       128    0.0.0.0:5432         0.0.0.0:*      users:(("postgres",pid=16066,fd=3)) uid:111 ino:42972 sk:8 <->                  tcp   LISTEN  0       128    [::]:5432            [::]:*      users:(("postgres",pid=16066,fd=6)) uid:111 ino:42973 sk:9 v6only:1 <->

如果我们有一个Active UFW防火墙,请允许端口5432

sudo ufw allow 5432/tcp

第5步:设置PostgreSQL管理员用户的密码并进行测试

为默认管理员用户设置密码

$sudo su - postgres
Hyman@theitroad:~$psql -c "alter user postgres with password 'StrongPassword'"
ALTER ROLE

我们还可以添加其他数据库用户:

createuser dbuser1

添加测试数据库:

Hyman@theitroad:~$createdb testdb -O dbuser1

通过登录DBUSER1并在TestDB上进行操作进行测试操作

~$psql -l  | grep testdb
 testdb    | dbuser1  | LATIN1   | en_US   | en_US |

设置用户密码:

$psql
psql (11.2 (Ubuntu 11.2-1.pgdg18.04+1))
Type "help" for help.
postgres=# alter user dbuser1 with password 'DBPassword';
ALTER ROLE

创建表并添加一些虚拟数据:

testdb=# create table test_table ( id int,first_name text, last_name text );
CREATE TABLE
testdb=# insert into test_table (id,first_name,last_name) values (1,'John','Doe');
INSERT 0 1

显示表数据

testdb=#  select * from test_table;
 id | first_name | last_name 
----+------------+----------
  1 | John       | Doe
(1 row)

删除我们的测试表

testdb=# DROP TABLE test_table;
DROP TABLE
testdb=# \q

删除测试数据库

Hyman@theitroad:~$dropdb testdb;

步骤6:安装Web管理工具(可选)

为了轻松管理,考虑将PGADMIN 4安装到Ubuntu系统上。