我们都知道,Drupal 同时支持多种数据库,一般来说,大部分站长都会选择Mysql 或者 MariaDB 数据库,但 PostgreSQL 也是一个非常好的选择。
这里大伟哥和大家分享一下,如何安装和使用 PostgreSQL 作为 Drupal 的后端数据库。
一、安装 PostgreSQL 及 PHP 对 PostgreSQL 的支持模块
Debian 12 下安装 PostgreSQL 非常简单,apt install postgresql 就可以把 PostgreSQL 和它的依赖项都安装好。
然后还要安装对 PostgreSQL 支持的 PHP 模块 php-pgsql.
sudo apt install postgresql
sudo apt install php-pgsql
在 Debian 12 下默认安装的版本分别是 PostgreSQL 15 和 php8.2-pgsql
二、创建PostgreSQL 的 Drupal 用户和数据库
切换成PostgreSQL默认用户 postgres:
david@debian12:~$ sudo su - postgres
创建数据库用户pgsqluser:
postgres@debian12:~$ createuser --pwprompt --encrypted --no-createrole --no-createdb pgsqluser Enter password for new role: Enter it again:
创建数据库daweibropgsql:
postgres@debian12:~$ createdb --encoding=UNICODE --owner=pgsqluser daweibropgsql
在 daweibropgsql 数据库中安装 Drupal 10+ 版本要求的 pg_trgm 模块:
postgres@debian12:~$ psql -c "CREATE EXTENSION pg_trgm" daweibropgsql postgres CREATE EXTENSION
以上步骤完成以后,Drupal 就可以使用 PostgreSQL 数据库了,安装过程中,在配置数据库的页面就会出现 PostgreSQL 的选项,安装 Drupal 的方法,和使用MySQL 数据库是类似的。
三、配置使用密码登录数据库
数据库创建完成后,数据库的所有者可以使用以下命令进入交互模式:
psql -U pgsqluser -d daweibropgsql
但不幸的是,你很可能遇到下面的报错:
psql: error: connection to server on socket "/var/run/postgresql/.s.PGSQL.5432" failed: FATAL: Peer authentication failed for user "pgsqluser"
这是因为我们还没有创建一个和 PostgreSQL 用户 pgsqluser 一样的 Linux 用户,因此无法通过 Peer 认证。我们可以通过修改 pg_hba.conf 文件来修改本机登录的方式为通过 scram-sha-256 认证口令登录的方式:
sudo vim /etc/postgresql/15/main/pg_hba.conf:
local all all scram-sha-256
- 394 阅读
添加新评论