安装 PostgreSQL 11.1 数据库
安装 PostgreSQL:
# pacman -S postgresql
如果运行 Btrfs 文件系统,则应考虑禁用数据库目录的写时复制:
# chattr +C /var/lib/postgres/data/
该软件包postgres
在您的系统上创建用户。
初始化数据库集群。这必须由新postgres
用户完成,只要您的用户帐户使用 sudo 权限设置,此命令便会执行此操作:
$ sudo -iu postgres initdb -D /var/lib/postgres/data
启动 PostgreSQL,并使其在每次启动后启动:
# systemctl enable --now postgresql
以postgres
充当数据库根用户的数据库用户身份连接到 PostgreSQL :
# psql -U postgres
然后设置一个密码:
postgres-# \password postgres
现在退出:
postgres-# \q
考虑防火墙
您可能要考虑配置防火墙。默认情况下,PostgreSQL 不仅会侦听5432
来自 localhost 的端口,还会侦听您的公共 IP 地址上任何地方的端口。PostgreSQL 也只会批准来自 localhost 的传入连接,但是外部尝试仍将到达 PostgreSQL 并出现以下错误:no pg_hba.conf entry for host
。
尽管 PostgreSQL 被认为是相当安全的,但除非绝对必要,否则防火墙甚至不向 PostgreSQL 服务器提供外部数据包也更加安全。即使需要直接远程访问,使用防火墙阻止流量并使用 VPN 也会更加安全。
准备升级
默认情况下,pacman
当通过运行以下命令升级整个 Arch 系统时,将在新版本发布到正式的 Arch 存储库时升级 PostgreSQL:
# pacman -Syu
强烈建议配置pacman
为不自动安装 PostgreSQL 升级。当发布升级并升级整个 Arch 系统时,pacman
将通知您有可用的新版本。编辑/etc/pacman.conf
,然后添加以下内容:
IgnorePkg = postgresql*
处理次要版本升级
当pacman
显示您有次要版本升级时,例如11.0
到11.1
,PostgreSQL 的版本控制策略是您可以安全地执行升级。就是说,最好先备份数据库。
要执行次要升级,请停止 PostgreSQL 并确认它已停止:
# systemctl stop postgresql
# systemctl status postgresql
然后,强制升级软件包:
# pacman -S postgresql postgresql-libs
启动 PostgreSQL:
# systemctl start postgresql
处理主要版本升级
当pacman
节目有重大版本升级,如11.x
到12.x
,建议检查PostgreSQL 的网站,以及 Arch 的网站,看看是否有您必须执行正确的升级步骤。过去,当 PostgreSQL 给出此类步骤时,跳过这些步骤将导致数据库无法正常工作。强烈建议您首先备份数据库,因为这些升级的风险更大。