如何在Debian 10(Buster)上安装PostgreSQL 11
时间:2020-02-23 14:32:19 来源:igfitidea点击:
本教程将引导我们完成在Debian 10(Buster)上安装PostgreSQL 11所需的步骤。 PostgreSQL是用C语言编写的功能强大,高度可扩展的数据库服务器。它是世界上最先进的关系数据库系统,拥有30多年的积极开发经验,在可靠性,功能强大性和性能方面赢得了极高的声誉。
PostgreSQL 11的第一版发布于2016-10-18,我们可以在发布页面上查看更多详细信息。请按照以下几个步骤在Debian 10(Buster)上安装PostgreSQL 11.
添加PostgreSQL存储库
首先,请确保Debian 10系统上的所有内容均已更新。
sudo apt update sudo apt -y upgrade
然后导入存储库签名密钥:
sudo apt install -y vim wget wget --quiet -O - https://www.postgresql.org/media/keys/ACCC4CF8.asc | sudo apt-key add
添加存储库:
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
在Debian 10(Buster)上安装PostgreSQL 11
现在,通过运行以下命令在Debian 10 Buster上安装PostgreSQL 11.
sudo apt update sudo apt -y install postgresql-11
该服务通常在安装后启动。
$systemctl status postgresql ● postgresql.service - PostgreSQL RDBMS Loaded: loaded (/lib/systemd/system/postgresql.service; enabled; vendor preset: enabled) Active: active (exited) since Fri 2019-03-29 13:15:54 UTC; 3min 37s ago Main PID: 1360 (code=exited, status=0/SUCCESS) Tasks: 0 (limit: 1148) Memory: 0B CGroup: /system.slice/postgresql.service
我们需要设置PostgreSQL管理员用户密码:
$sudo su - postgres theitroad@localhost:~$psql -c "alter user postgres with password 'StrongDBPassword'" ALTER ROLE
启用远程访问(可选)
默认情况下,仅从本地主机访问PostgreSQL数据库服务器。
$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 = '*' # Don't do this if your server is on public network
我们还可以指定服务器IP地址
listen_addresses = '10.10.0.2' # Recommended for LAN connections to DB Server
进行更改后重新启动postgresql
sudo systemctl restart postgresql
确认
$ss -tunelp | grep 5432 tcp LISTEN 0 128 0.0.0.0:5432 0.0.0.0:* uid:108 ino:74999 sk:a <-> tcp LISTEN 0 128 [::]:5432 [::]:* uid:108 ino:75000 sk:b v6only:1 <->
如果我们有活动的UFW防火墙,请允许端口5432用于网络连接。
sudo ufw allow 5432/tcp
测试PostgreSQL安装
添加测试数据库用户:
$sudo su - postgres theitroad@localhost:~$createuser test_user1
添加测试数据库并将所有权授予test_user1
:
theitroad@localhost:~$createdb test_db -O test_user1
设置用户密码:
theitroad@localhost:~$psql psql (11.2 (Debian 11.2-2)) Type "help" for help. postgres=# alter user test_user1 with password 'DBUserPassword'; ALTER ROLE
登录到test_db数据库:
theitroad@localhost:~$psql -l | grep test_db test_db | test_user1 | UTF8 | en_US.UTF-8 | en_US.UTF-8 | theitroad@localhost:~$psql test_db psql (11.2 (Debian 11.2-2)) Type "help" for help. test_db=#
创建一个表并添加一些虚拟数据:
test_db=# create table test_table ( id int,first_name text, last_name text ); CREATE TABLE test_db=# insert into test_table (id,first_name,last_name) values (1,'John','Doe'); INSERT 0 1
显示表格数据:
test_db=# select * from test_table; id | first_name | last_name ----+------------+---------- 1 | John | Doe (1 row) test_db=#
让我们删除测试数据库以保留全新安装。
theitroad@localhost:~$dropdb test_db
我们已经在Debian 10(Buster)上成功安装了PostgreSQL 11. 访问PostgreSQL官方文档页面以进一步阅读。