Symptoms
-
Unable to log in to Plesk:
Server Error
500
Zend_Db_Table_Row_ExceptionSpecified column "status" is not in the row
Type Zend_Db_Table_Row_Exception
Message Specified column "status" is not in the row
File Abstract.php
Line 179
external error:
Specified column "status" is not in the row
Message Specified column "status" is not in the row
File Abstract.php
Line 179
Type Zend_Db_Table_Row_Exception -
The following entries are found in
/var/log/plesk/panel.log
:ERR [panel] Specified column "status" is not in the row:
0: /usr/local/psa/admin/externals/Zend/Db/Table/Row/Abstract.php:179
Zend_Db_Table_Row_Abstract->__get(string 'status')
...
ERROR: Zend_Db_Table_Row_Exception: Specified column "status" is not in the row (Abstract.php:179)
Some steps of upgrade failed. Run upgrade with option --repair to rerun failed steps.
Cause
Plesk database inconsistency, possibly during a failed database upgrade.
Resolution
Restore Plesk database from a pre-upgrade dump and run plesk repair
utility to fix other conflicts:
-
Connect to the server via SSH.
-
Create a backup of Plesk database:
# plesk db dump > psa.current.sql
-
Switch to the directory with pre-upgrade dumps:
# cd /var/lib/psa/dumps
-
List all available pre-upgrade dumps:
# ls -l mysql.preupgrade*
-rw------- 1 root root 221821 May 4 18:03 mysql.preupgrade.18.0.25-18.0.26.20200504-180302.dump.gz
-rw------- 1 root root 236912 May 24 14:02 mysql.preupgrade.18.0.26-18.0.27.20200524-140248.dump.gzIn the example below, we are restoring all system databases from a dump file that was created before an upgrade from Plesk Obsidian 18.0.26 to 18.0.27:
-
Restore system databases:
# zcat mysql.preupgrade.18.0.25-18.0.26.20200504-180302.dump.gz | MYSQL_PWD=`cat /etc/psa/.psa.shadow` mysql -uadmin
-
Run Plesk repair installation to fix possible database version conflicts:
# plesk repair installation