在Ubuntu 20.04上安装PostgreSQL数据库服务器(Focal Fossa)
欢迎到今天的教程,了解如何在Ubuntu 20.04上安装PostgreSQL数据库服务器(焦点FOSEA)。
PostgreSQL是一种流行而强大的开源关系数据库管理系统,用于运行任务关键应用程序。
PostgreSQL基于Postgres 4.2.
如果要检查PostgreSQL数据库的所有酷炫函数,请访问"函数Metrix"页面以了解更多信息。
本教程将直接潜水到Ubuntu 20.04(焦点FOSEA)Linux系统上的PostgreSQL安装。
第1步:更新系统
我们需要在更新的系统上工作,以确保我们没有得到任何依赖问题。
sudo apt update sudo apt -y upgrade
系统更新后,我们可以继续在Ubuntu 20.04上安装PostgreSQL数据库服务器,Focal Fossa Linux。
第2步:在Ubuntu 20.04上安装PostgreSQL数据库服务器(Focal Fossa)
我们将在Ubuntu 20.04上安装PostgreSQL数据库服务器的默认版本,而无需配置项目的上游存储库。
sudo apt install postgresql postgresql-client
确认包安装继续。
Reading package lists... Done Building dependency tree Reading state information... Done The following packages were automatically installed and are no longer required: apport apport-symptoms at bc bcache-tools bolt byobu cryptsetup cryptsetup-run ethtool fonts-ubuntu-console fwupd fwupd-signed git git-man htop initramfs-tools-bin klibc-utils kpartx landscape-common libarchive13 liberror-perl libevent-2.1-7 libfl2 libfwupd2 libfwupdplugin1 libgcab-1.0-0 libgpgme11 libgusb2 libklibc libmspack0 libsgutils2-2 libsmbios-c2 libtss2-esys0 liburcu6 libutempter0 libxmlb1 libxmlsec1 libxmlsec1-openssl lz4 open-vm-tools pastebinit patch pollinate python3-apport python3-attr python3-automat python3-click python3-colorama python3-constantly python3-debconf python3-debian python3-hamcrest python3-hyperlink python3-incremental python3-newt python3-problem-report python3-pyasn1 python3-pyasn1-modules python3-service-identity python3-systemd python3-twisted python3-twisted-bin python3-zope.interface run-one screen sg3-utils sosreport tmux tpm-udev update-notifier-common Use 'sudo apt autoremove' to remove them. The following additional packages will be installed: libllvm9 libpq5 libsensors-config libsensors5 postgresql-12 postgresql-client-12 postgresql-client-common postgresql-common sysstat Suggested packages: lm-sensors postgresql-doc postgresql-doc-12 libjson-perl isag The following NEW packages will be installed: libllvm9 libpq5 libsensors-config libsensors5 postgresql postgresql-12 postgresql-client postgresql-client-12 postgresql-client-common postgresql-common sysstat 0 upgraded, 11 newly installed, 0 to remove and 4 not upgraded. Need to get 30.0 MB of archives. After this operation, 116 MB of additional disk space will be used. Do you want to continue? [Y/n] y
安装PostgreSQL的版本是12.这是本文写作的最新稳定版本。
安装后自动启动该服务。
我们可以确认是否使用命令运行:
$systemctl status postgresql.service ● postgresql.service - PostgreSQL RDBMS Loaded: loaded (/lib/systemd/system/postgresql.service; enabled; vendor preset: enabled) Active: active (exited) since Thu 2019-12-26 07:15:55 UTC; 1min 46s ago Main PID: 3953 (code=exited, status=0/SUCCESS) Tasks: 0 (limit: 614) Memory: 0B CGroup: /system.slice/postgresql.service Dec 26 07:15:55 ubuntu20 systemd[1]: Starting PostgreSQL RDBMS... Dec 26 07:15:55 ubuntu20 systemd[1]: Started PostgreSQL RDBMS.
第3步:更改服务监听IP(可选)
如果我们需要网络应用程序来连接到中央数据库,则需要更改Listens_addresses行以允许绑定到服务器上可用的所有地址或者可用的特定IP地址。
# Allow bind to all addresses listen_addresses = '*' # Allow bind to one IP addresses listen_addresses = '192.168.10.20'
对于多个IP地址,列出它们并与逗号分隔。
更改后,重新启动服务。
sudo systemctl restart postgresql
第4步:更新PostgreSQL管理员用户的密码
使用PostgreSQL数据库服务器的安装创建PostgreSQL数据库管理员。
我们需要为此用户设置安全密码。
sudo su - postgres psql -c "alter user postgres with password 'Hyman@theitroad'"
尝试创建测试数据库和用户。
createuser dbuser createdb testdb -O dbuser $psql testdb psql (12.1 (Ubuntu 12.1-1)) Type "help" for help. testdb=# alter user dbuser with password 'StrongPassword'; ALTER ROLE testdb=# \q Hyman@theitroad:~$dropdb testdb
列表已创建的数据库:
$psql -l List of databases Name | Owner | Encoding | Collate | Ctype | Access privileges -----------+----------+----------+---------+---------+---------------------- 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 testdb | dbuser | UTF8 | C.UTF-8 | C.UTF-8 | (4 rows)
步骤5:安装PHPPGADMIN管理界面
我们现在可以安装PHPGADMIN管理界面,可用于管理PostgreSQL数据库操作。
sudo apt -y install phppgadmin php-pgsql
要允许使用root或者postgres等特权用户帐户登录,请将以下行设置为false。
$sudo vim /etc/phppgadmin/config.inc.php $conf['extra_login_security'] = false;
只显示登录用户所拥有的数据库,请设置在下行。
$conf['owned_only'] = true;
设置IPv4允许的本地连接。
host all all 127.0.0.1/32 md5 host all all 192.168.10.0/24 md5 host all all 10.20.5.0/24 md5
为Web UI访问提供相同的操作。
sudo nano /etc/apache2/conf-enabled/phppgadmin.conf
只允许LocalHost连接,添加如下所示的其他IP地址。
Require local Require ip 192.168.10.0/24 Require ip 10.10.0.0/24
更改后重新启动PostgreSQL服务。
sudo systemctl restart postgresql apache2
要访问phppgadmin仪表板,请打开URL http://(hostname_or_ip_address/phppgadmin /。