- Key Responsibilities:
- Database Installation & Configuration:
- Install and configure PostgreSQL databases in production and development environments.
- Perform database migrations from older systems or versions to the latest PostgreSQL versions.
- Set up replication and failover processes for high availability.
- Database Maintenance & Administration:
- Monitor and ensure database performance is optimized (e.g., query performance, indexing, disk I/O, etc.).
- Perform backup and restore operations to ensure data integrity and disaster recovery.
- Regularly update and patch the database to the latest version for security and performance.
- Data integrity checks, data migrations, and management of schemas and tables.
- Performance Tuning & Optimization:
- Use performance monitoring tools to identify and resolve performance issues such as slow queries and resource bottlenecks.
- Optimize SQL queries and database design to ensure efficient performance at scale.
- Create and maintain indexes and optimize the query execution plan for critical applications.
- Security Management:
- Ensure the security of the database by managing access control, user roles, and permissions.
- Implement encryption for data in transit and at rest.
- Regularly audit database access and activities to ensure compliance with security standards.
- Replication & High Availability:
- Configure and maintain PostgreSQL replication (both master-slave and multi-master) setups for high availability.
- Manage clustering and failover procedures to ensure database uptime.
- Backup & Recovery:
- Implement a reliable backup strategy using tools like pg_dump, pg_basebackup, or continuous archiving.
- Ensure point-in-time recovery (PITR) is set up and functional.
- Perform periodic testing of disaster recovery procedures.
- Troubleshooting & Support:
- Provide day-to-day support for PostgreSQL databases including diagnosing and resolving database-related issues.
- Troubleshoot database connectivity issues, performance bottlenecks, and integrity problems.
- Respond to critical issues or outages promptly to restore database availability.
- Collaboration & Documentation:
- Collaborate with development teams to optimize database queries and ensure database performance.
- Document database configurations, procedures, backup strategies, and any changes made to the system.
- Maintain clear and accurate records of database incidents, tickets, and resolutions.
- Capacity Planning & Scalability:
- Plan for capacity and growth in database storage and resources to meet organizational needs.
- Perform scalability testing to ensure the database can handle increasing loads efficiently.
- Required Qualifications:
- 2-5 years of experience as a PostgreSQL Database Administrator or similar database management role.
- Solid experience with PostgreSQL installation, configuration, and maintenance.
- Proficient in SQL (including complex queries, joins, etc.) and PostgreSQL-specific functions.
- Hands-on experience with PostgreSQL replication, clustering, and high availability setups.
- Experience with backup and restore strategies, disaster recovery procedures, and point-in-time recovery.
- Strong troubleshooting skills for database performance issues, including query optimization and indexing.
- Experience with monitoring tools (e.g., pgAdmin, Nagios, Prometheus, Grafana) to analyze database performance.
- Knowledge of security best practices and managing user roles and permissions in PostgreSQL.
- Familiarity with PostgreSQL extensions like PostGIS (for geospatial data) or pg_partman for partition management is a plus.
- Familiarity with cloud platforms (AWS RDS, Azure Database for PostgreSQL) is an advantage.
- Bachelor's degree in Computer Science, Information Technology, or related field.
Skills Required
Postgresql, Grafana, Prometheus, Nagios, pgadmin