BSOD with PG Database and scram/md5 authentication - old pglib

Created on 26 November 2022, almost 2 years ago
Updated 22 January 2023, almost 2 years ago

Problem/Motivation

BSOD upon VDC activation with PostgreSQL auth-method scram-sha-256 or md5, only works with auth-method password (unencrypted).

Broken/missing handler while trying to configure certain field types (e.g. boolean).

>> old pglib

Steps to reproduce

Activate VDC with PostgreSQL auth-method scram-sha-256 or md5.

Proposed resolution

Provide up-to-date pglib (10 or later)

Temporary remediation (insecure) - set host authentication method to password in pg_hba.conf

🐛 Bug report
Status

Active

Version

1.4

Component

Code

Created by

🇨🇭Switzerland janes_p Zurich

Live updates comments and jobs are added and updated live.
Sign in to follow issues

Comments & Activities

Not all content is available!

It's likely this issue predates Contrib.social: some issue and comment data are missing.

  • 🇨🇭Switzerland janes_p Zurich

    In the meantime I am on D 9.5.2 with my test site. I am also testing functions related to the External Entities module with PostgreSQL access, so some database related modules are now activated (no more plain Drupal site).

    With that said, there is no more WSOD when enabling VDC and I can also configure a VDC view without WSOD. I would assume that there are some dependencies to PostgreSQL modules which are not explicitely stated in the dependency tree.

    However I am getting an error message while running the underlying PostgreSQL query:

    SQLSTATE[42P01]: Undefined table: 7 ERROR: relation "provider" does not exist LINE 3: "provider" "provider" ^: SELECT "provider"."provider_id" AS "provider_id", "provider"."provider_identifier" AS "provider_provider_identifier", "provider"."provider_name" AS "provider_provider_name", "provider"."provider_name_suffix" AS "provider_provider_name_suffix" FROM "provider" "provider" LIMIT 11 OFFSET 0; Array ( )

    The structure of the referenced PostgreSQL table is listed below:

            Column        |          Type          | Collation | Nullable |                    Default                    
    ----------------------+------------------------+-----------+----------+-----------------------------------------------
     provider_id          | integer                |           | not null | nextval('provider_provider_id_seq'::regclass)
     provider_name        | character varying(100) |           | not null | 
     provider_identifier  | bigint                 |           | not null | 
     provider_type        | integer                |           |          | 
     provider_description | text                   |           |          | 
     provider_name_suffix | character varying(100) |           |          | 
     provider_postalcode  | integer                |           |          | 
     provider_city        | character varying(100) |           |          | 
     provider_active      | boolean                |           | not null | 
    Indexes:
        "provider_pk" PRIMARY KEY, btree (provider_id)

    The configuration of the additional PostgreSQL database in settings.php is listed below:

    $databases['plan_e']['default'] = array (
      'database' => 'plan_e',
      'username' => 'plan_e_ro',
      'password' => '*****',
      'prefix' => '',
      'host' => '*****',
      'port' => '5432',
      'namespace' => 'Drupal\\Core\\Database\\Driver\\pgsql',
      'driver' => 'pgsql',
    );

    Please note that the table is in the schema plan_e (not public).

Production build 0.71.5 2024