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
- Download latest tarball from GitHub
- Backup your files and database before proceeding
- Replace all files with content from the downloaded archive
- Restore your configuration file (
inc/config.inc.php) from backup - 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_idandzones.ownercolumns - 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