I'm installing into pgSQL. The install took a looong time - I had to increase the max_execution_time in php.ini to let it continue. I attached the final output from the install to the attached file install_text.txt. I got this all setup using phpedu-beta3(full).tar.gz.

The website now displays this error:

* warning: pg_query() [function.pg-query]: Query failed: ERROR: relation "og_uid" does not exist in /Library/PostgreSQL/EnterpriseDB-ApachePhp/apache/www/osbc/includes/database.pgsql.inc on line 139.
* user warning: query: SELECT n.title, n.type, n.status, ou.* FROM og_uid ou INNER JOIN node n ON ou.nid = n.nid WHERE ou.uid = 1 AND ou.is_active >= 1 AND n.type IN ('pe_group_advisers','pe_group_course','pe_group_registration') ORDER BY n.title in /Library/PostgreSQL/EnterpriseDB-ApachePhp/apache/www/osbc/sites/all/modules/og/og.module on line 1090.

Welcome to your new Drupal website!

Please follow these steps to set up and start using your website:

CommentFileSizeAuthor
install_text.txt176.6 KBunderforge

Comments

slake’s picture

I think you might be able just to install the Organic Groups modules (og) and the proper tables should be built. Otherwise, you could look at the og.install file and build the tables manually via pgAdmin3/psql, or you can nuke the database and reinstall after going into [install root directory]/profiles/phpedu_profile.profile and replacing

/**
 * og.module install hack.
 * For some reason og install fails so we need this workaround
 *
 */
function _install_og() {

  db_query("
    CREATE TABLE {og} (
      nid int(11) NOT NULL,
      og_selective int(11) NOT NULL default '0',
      og_description varchar(255) default NULL,
      og_theme varchar(255) default NULL,
      og_register tinyint(4) NOT NULL default '0',
      og_directory tinyint(4) NOT NULL default '0',
      og_notification tinyint(4) NOT NULL default '0',
      og_language varchar(12) NOT NULL default '',
      og_private tinyint(4) NOT NULL default '0',
      PRIMARY KEY  (nid)
    );
  ");

  db_query("
    CREATE TABLE {og_ancestry} (
    nid int(11) NOT NULL,
    group_nid int(11) NOT NULL,
    is_public tinyint(4) NOT NULL default '1',
    KEY nid (nid),
    KEY group_nid (group_nid)
    );
  ");

  db_query("
    CREATE TABLE {og_uid} (
    nid int(11) NOT NULL,
    og_role tinyint(4) NOT NULL default '0',
    is_active tinyint(4) NOT NULL default '0',
    is_admin tinyint(4) NOT NULL default '0',
    uid int(11) NOT NULL,
    mail_type int(11) default NULL,
    created int(11) default '0',
    `changed` int(11) default '0',
    PRIMARY KEY  (nid,uid)
    );
  ");

  db_query("UPDATE {system} SET status = 1 WHERE name = 'og_access'");
  db_query("UPDATE {system} SET status = 1 WHERE name = 'og_actions'");
  db_query("UPDATE {system} SET status = 1 WHERE name = 'og_views'");
  db_query("UPDATE {system} SET status = 1 WHERE name = 'og'");
  db_query("UPDATE {system} SET weight = 1 WHERE name = 'og_access'");

  // default group nodes
  $group_nodes = array('group', 'pe_group_advisers', 'pe_group_course', 'pe_group_registration');
  foreach($group_nodes as $type) {
    variable_set('og_content_type_usage_'. $type, 'group');
  }

}

with

/**
 * og.module install hack.
 * For some reason og install fails so we need this workaround
 *
 */	

/**
* Implementation of hook_schema().
*/
function og_hack_schema() {
	  $schema['og'] = array(
		'fields' => array(
		  'nid'				=> array('type' => 'int', 'unsigned' => TRUE, 'not null' => TRUE),
		  'og_selective'	=> array('type' => 'varchar', 'length' => 255, 'not null' => FALSE, 'default' => NULL),
		  'og_description'	=> array('type' => 'varchar', 'length' => 255, 'not null' => FALSE, 'default' => NULL),
		  'og_register'		=> array('type' => 'int', 'size' => 'tiny', 'not null' => TRUE, 'default' => 0),
		  'og_directory'	=> array('type' => 'int', 'size' => 'tiny', 'not null' => TRUE, 'default' => 0),
		  'og_notification'	=> array('type' => 'int', 'size' => 'tiny', 'not null' => TRUE, 'default' => 0),
		  'og_language'		=> array('type' => 'varchar', 'length' => 12, 'not null' => FALSE, 'default' => ''),
		  'og_private'		=> array('type' => 'int', 'size' => 'tiny', 'not null' => TRUE, 'default' => 0)
		),
		'primary key' => array('nid'),
	  );

	  $schema['og_ancestry'] = array(
		'fields' => array(
		  'nid'				=> array('type' => 'int', 'unsigned' => TRUE, 'not null' => TRUE),
		  'group_nid'		=> array('type' => 'int', 'unsigned' => TRUE, 'not null' => TRUE),
		  'is_public'		=> array('type' => 'int', 'size' => 'tiny', 'not null' => TRUE, 'default' => 1),
		),
		'unique keys' => array(
		  'nid'     => array('nid'),
		  'group_nid'     => array('group_nid')
		  ),
	  );

	  $schema['og_uid'] = array(
		'fields' => array(
		  'nid'				=> array('type' => 'int', 'unsigned' => TRUE, 'not null' => TRUE),
		  'og_role'			=> array('type' => 'int', 'size' => 'tiny', 'not null' => TRUE, 'default' => 0),
		  'is_active'		=> array('type' => 'int', 'size' => 'tiny', 'not null' => TRUE, 'default' => 0),
		  'is_admin'		=> array('type' => 'int', 'size' => 'tiny', 'not null' => TRUE, 'default' => 0),
		  'uid'				=> array('type' => 'int', 'not null' => TRUE),
		  'mail_type'		=> array('type' => 'int', 'not null' => FALSE, 'default' => 0),
		  'created'			=> array('type' => 'int', 'not null' => FALSE, 'default' => 0),
		  'changed'         => array('description' => t('Time when this membership was last changed.'),'type' => 'int','size' => 'normal', 'not null' => FALSE, 'default' => 0,
      ),
		),
		'primary key' => array('nid,uid'),
	  );
  return $schema;
}


function _install_og() {
  // Create tables.
  drupal_install_schema('og_hack');
  drupal_set_message('Organic Groups module installed successfully.');

	  db_query("UPDATE {system} SET status = 1 WHERE name = 'og_access'");
	  db_query("UPDATE {system} SET status = 1 WHERE name = 'og_actions'");
	  db_query("UPDATE {system} SET status = 1 WHERE name = 'og_views'");
	  db_query("UPDATE {system} SET status = 1 WHERE name = 'og'");
	  db_query("UPDATE {system} SET weight = 1 WHERE name = 'og_access'");

  // default group nodes
  $group_nodes = array('group', 'pe_group_advisers', 'pe_group_course', 'pe_group_registration');
  foreach($group_nodes as $type) {
    variable_set('og_content_type_usage_'. $type, 'group');
  }

}
dakala’s picture

@slake: Thanks.

@underforge:
Has the problem been solved after following the suggestion? Kindly post your findings so I can update the install profile. I'm unable to test with PostgreSQL so any help is appreciated.