This documentation covers Poweradmin 4.0.x and 4.1.x. Some sections are still being expanded.

Upgrading to v3.9.7

Overview

Version 3.9.7 includes important performance improvements through new database indexes and user interface enhancements. This release requires database migrations.

Upgrade Instructions

  1. Download latest tarball from GitHub
  2. Backup your files and database before proceeding
  3. Replace all files with content from the downloaded archive
  4. Restore your configuration file (inc/config.inc.php) from backup
  5. Run the database migration script (see below)

Database Migration

This release adds performance indexes on the zones table. Run the appropriate migration script for your database:

MySQL/MariaDB:

ALTER TABLE zones ADD INDEX idx_zones_domain_id (domain_id);
ALTER TABLE zones ADD INDEX idx_zones_owner (owner);

Or run the migration script:

mysql -u root -p poweradmin < sql/poweradmin-mysql-update-to-3.9.7.sql

PostgreSQL:

CREATE INDEX idx_zones_domain_id ON zones (domain_id);
CREATE INDEX idx_zones_owner ON zones (owner);

Or run the migration script:

psql -U poweradmin -d poweradmin -f sql/poweradmin-pgsql-update-to-3.9.7.sql

SQLite:

CREATE INDEX idx_zones_domain_id ON zones (domain_id);
CREATE INDEX idx_zones_owner ON zones (owner);

Or run the migration script:

sqlite3 /path/to/poweradmin.db < sql/poweradmin-sqlite-update-to-3.9.7.sql

Performance Improvements

  • Database indexes: Added indexes on zones.domain_id and zones.owner columns
  • Query performance: 10-100x faster query performance when managing large numbers of zones (tested with 10,000+ zones)

Features

  • Configurable rows per page: Users can now customize rows per page (10, 20, 50, 100) on zone lists and search results, with preferences stored in session

Code Improvements

  • DNS record validation logic reorganized into focused, reusable validator classes

Notes

  • Users with large zone counts (1000+) will see significant performance improvements after applying the indexes
  • The indexes are safe to add on production systems but may take time on very large databases