docs: async function pgInfo (options) {
    // //////////////
    const schemas = options.schemas || ['public']
    const client = options.client
  
    const queries = QUERIES().map(query => client.query(query, [schemas]).then(result => result.rows))
    const queryResults = await Promise.all(queries)
  
    const info = {
      generated: new Date().toISOString(),
      schemas: {}
    }
  
    const pgSchemas = queryResults[0]
    const pgTables = queryResults[1]
    const pgColumns = queryResults[2]
    const pgPkColumns = queryResults[3]
    const pgIndexes = queryResults[4]
    const pgFkConstraints = queryResults[5]
    const pgTriggers = queryResults[6]
    const pgFunctions = queryResults[7]
    const pgViews = queryResults[8]
  
    // Loop over each requested schema namen
    for (const schemaName of schemas) {
      const schema = pgSchemas.find(s => s.schema_name === schemaName)
  
      if (!schema) {
        // Database doesn't have this schema name
        info.schemas[schemaName] = {
          schemaExistsInDatabase: false
        }
        continue
      }
  
      // Database has this schema name
      info.schemas[schemaName] = {
        schemaExistsInDatabase: true,
        comment: schema.schema_comment,
        tables: {},
        views: {}
      }
  
      const schemaTables = pgTables.filter(table => table.table_schema === schemaName)
      for (const table of schemaTables) {
        const tableName = table.table_name
  
        info.schemas[schemaName].tables[tableName] = {
          comment: table.table_comment,
          pkColumnNames: findPrimaryKeyColumns(pgPkColumns, schemaName, tableName),
          columns: findColumns(pgColumns, schemaName, tableName),
          indexes: findIndexes(pgIndexes, schemaName, tableName),
          triggers: findTriggers(pgTriggers, schemaName, tableName),
          functions: findFunctions(pgFunctions, schemaName, tableName),
          fkConstraints: findConstraints(pgFkConstraints, schemaName, tableName)
        }
      } // tables ...
  
      const schemaViews = pgViews.filter(view => view.view_schema === schemaName)
      for (const view of schemaViews) {
        const viewName = view.view_name
  
        info.schemas[schemaName].views[viewName] = {
          columns: findColumns(pgColumns, schemaName, viewName),
          sql: view.view_definition.trim().replace(/\s+/g, ' ')
        }
      }
    } // for each schema
  
    return info
  }