在Debian 9 Debian 10上安装PostgreSQL 13
时间:2020-02-23 14:32:20 来源:igfitidea点击:
PostgreSQL是一种开源,强大,弹性和容错的关系数据库管理系统,供电许多任务关键应用程序。
PostgreSQL数据库基于Postgres 4.2.
截至本文更新PostgreSQL的最新稳定版本是版本13. PostgreSQL 13的所有新功能,改进和错误修复在官方发布页面中提供。
以下是一些值得注意的新功能:来自B-Tree索引条目的重复的改进 - 使用聚合或者分区表的空间节省和性能获益从而提高性能。
使用扩展统计数据的索引时,请分类排序释放规划
在Debian 9 Debian 10上安装PostgreSQL 13
如果我们遵循本文中概述的下一步骤,则应在Debian 10上获取PostgreSQL 13的运行和工作安装Debian 9 Linux机器。
在继续之前,建议更新系统和所有已安装的软件包。
sudo apt update sudo apt -y upgrade
此后重新启动服务器。
sudo reboot
第2步:添加PostgreSQL 12存储库
在配置APT存储库之前导入用于签名包的GPG密钥:
sudo apt update sudo apt -y install gnupg2 wget --quiet -O - https://www.postgresql.org/media/keys/ACCC4CF8.asc | sudo apt-key add
导入GPG密钥后,将PostgreSQL存储库添加到Debian系统。
echo "deb http://apt.postgresql.org/pub/repos/apt/`lsb_release -cs`-pgdg main" |sudo tee /etc/apt/sources.list.d/pgdg.list
cat创建的文件以检查其内容:
$cat /etc/apt/sources.list.d/pgdg.list deb http://apt.postgresql.org/pub/repos/apt/buster-pgdg main
第3步:在Debian 10上安装PostgreSQL 13 | Debian 9.
现在,存储库已成功更新包列表并在Debian 10/Debian 9 Linux机器上安装PostgreSQL 13.
服务器可以在云中运行,在前提硬件或者任何其他有效的虚拟化环境中。
sudo apt update
并最后启动Debian 10 |在Debian 10上的PostgreSQL 13的安装Debian 9:
sudo apt -y install postgresql-13 postgresql-client-13
使用以下命令启动数据库服务器:
sudo pg_ctlcluster 13 main start
确认服务状态和正在使用的配置文件。
$sudo pg_ctlcluster 13 main status pg_ctl: server is running (PID: 4209) /usr/lib/postgresql/13/bin/postgres "-D" "/var/lib/postgresql/13/main" "-c" "config_file=/etc/postgresql/13/main/postgresql.conf"
我们还可以使用systemctl命令检查服务的状态。
$systemctl status Hyman@theitroad ● Hyman@theitroad - PostgreSQL Cluster 13-main Loaded: loaded (/lib/systemd/system/Hyman@theitroad; enabled-runtime; vendor preset: enabled) Active: active (running) since Fri 2017-10-30 11:27:01 CET; 2min 11s ago Main PID: 4209 (postgres) Tasks: 7 (limit: 4580) Memory: 18.1M CGroup: /system.slice/system-postgresql.slice/Hyman@theitroad ├─4209 /usr/lib/postgresql/13/bin/postgres -D /var/lib/postgresql/13/main -c config_file=/etc/postgresql/13/main/postgresql.conf ├─4211 postgres: 13/main: checkpointer ├─4212 postgres: 13/main: background writer ├─4213 postgres: 13/main: walwriter ├─4214 postgres: 13/main: autovacuum launcher ├─4215 postgres: 13/main: stats collector └─4216 postgres: 13/main: logical replication launcher Oct 30 11:26:59 debian systemd[1]: Starting PostgreSQL Cluster 13-main... Oct 30 11:27:01 debian systemd[1]: Started PostgreSQL Cluster 13-main.
使用命令启动PostgreSQL提示符:
$sudo su - postgres Hyman@theitroad:~$psql psql (13.0 (Debian 13.0-1.pgdg100+1)) Type "help" for help. postgres=#
执行测试操作:
postgres=# exit Hyman@theitroad:~$createuser c4geeks Hyman@theitroad:~$createdb testdb -O c4geeks Hyman@theitroad:~$psql -l List of databases Name | Owner | Encoding | Collate | Ctype | Access privileges -----------+----------+----------+-------------+-------------+---------------------- postgres | postgres | UTF8 | en_US.UTF-8 | en_US.UTF-8 | template0 | postgres | UTF8 | en_US.UTF-8 | en_US.UTF-8 | =c/postgres + | | | | | postgres=CTc/postgres template1 | postgres | UTF8 | en_US.UTF-8 | en_US.UTF-8 | =c/postgres + | | | | | postgres=CTc/postgres testdb | c4geeks | UTF8 | en_US.UTF-8 | en_US.UTF-8 | (4 rows)
连接到数据库:
Hyman@theitroad:~$psql testdb psql (13.0 (Debian 13.0-1.pgdg100+1)) Type "help" for help. testdb=#
设置用户密码:
testdb=# alter user c4geeks with password 'StrongDBPassw0rd'; ALTER ROLE
删除数据库:
testdb=# \q Hyman@theitroad:~$dropdb testdb