如何在Debian 9/Debian 8上安装PostgreSQL 11

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

在本教程中,我们将介绍如何在Debian 9/Debian 8上安装PostgreSQL11. PostgreSQL是一个用C编写的功能强大,高度可扩展的数据库服务器。PostgreSQL的开发由PostgreSQL全球开发小组负责。

PostgreSQL提供了一个对象关系数据库系统,可让我们管理大量数据集.PostgreSQL服务器具有可确保容错和数据完整性的功能,因此可用于大量生产。在PostgreSQL 11发布页面上查看新功能。

添加PostgreSQL 11 APT存储库

导入存储库签名密钥:

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

然后将实际的存储库内容添加到Debian 9/Debian 8系统中:

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/stretch-pgdg main

第2步:在Debian 9/Debian 8上安装PostgreSQL 11

添加存储库后,继续在Debian 9/Debian 8上安装PostgreSQL 11.

sudo apt update
sudo apt -y install postgresql-11

启用远程访问

默认情况下,仅从本地主机访问PostgreSQL数据库服务器。

$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 <->

编辑PostgreSQL 11配置文件以更改监听地址:

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

在"连接和认证"部分下添加以下行。

listen_addresses = '*'

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

listen_addresses = '10.10.1.6'

请参见下面的屏幕截图。

进行更改后重新启动postgresql

sudo systemctl restart postgresql

确认新的PostgreSQLbind地址:

$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 <->

如果我们有活动的UFW防火墙,请允许端口5432

sudo ufw allow 5432/tcp

设置PostgreSQL管理员用户密码

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

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

测试PostgreSQL 11数据库功能

添加测试数据库用户:

createuser test_user1

添加测试数据库并将所有权授予" test_user1":

theitroad@localhost:~$createdb test_db -O test_user1

登录到test_db数据库:

~$psql -l  | grep test_db
 test_db    | test_user1  | LATIN1   | en_US   | en_US |
~$psql test_db

设置用户密码:

testdb=# alter user test_user1 with password 'MyDBpassword';
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

删除测试数据库

theitroad@localhost:~$dropdb test_db;

现在,我们已经在Debian 9/Debian 8上安装了PostgreSQL 11数据库服务器。