Dave Page

Vice President & Chief Architect, Database Infrastructure, EDB

Dave Page is Vice President and Chief Architect, Database Infrastructure, currently working in the CTO team on research and development, best practices with Postgres, and providing high-level guidance and support for key customers. 

Dave has been working with PostgreSQL since 1998 and is one of seven members of the open source project's Core Team, as well as serving as Secretary of the Board of PostgreSQL Europe and Chairman of the PostgreSQL Community Association of Canada. He joined EDB in 2007 and has been influential in the company’s direction and development of critical database management tools and product packaging and deployment. Prior to EDB, Dave spent more than a decade with The Vale Housing Association as Head of IT. He joined the organization after spending four years as an electronics technician with the Department of Particle and Nuclear Physics at the University of Oxford. Dave holds a Higher National Certificate in electronic engineering from Oxford Brookes University and a Master’s degree in information technology from the University of Liverpool.

Read Blogs

EDB Labs
Almost exactly three years ago I wrote a blog on my personal page entitled Testing pgAdmin which went into great detail discussing how we test pgAdmin prior to releases. Back then, all of the automated testing was performed using Jenkins, with a number of jobs that ran various test suites whenever new code was checked in. All of this infrastructure ran in a virtual private cloud on AWS consisting of a large number of virtual machines and other resources, hosted for the project by EDB. I recently undertook a project to move the testing infrastructure to our Github project, using Github Actions.
EDB Labs
Introduction Monitoring and alerting on various aspects of your PostgreSQL database is crucial for ensuring optimal performance and locating any bottlenecks. In this blog, we explore the views pg_stat_all_tables and pg_stat_all_indexes that are used to monitor index usage and table statistics. We can pinpoint areas for optimization and raise the general performance of our PostgreSQL database by...
EDB Labs
Vice President & Chief Architect, Database Infrastructure Dave Page shares the secret to deploying pgAdmin in Kubernetes.
EDB Labs
Tuning of the max_wal_size configuration parameter in PostgreSQL can have a profound effect on performance, but it's often overlooked or not given the priority it deserves in favour of other parameters, such as those that are easier to understand. In this blog we'll discuss what the parameter does, how to tune it, and how to monitor the system to ensure the tuning is effective.
Postgres Tutorials
For those that aren't aware, pgAdmin 4 is the fourth complete rewrite of pgAdmin since the first code was written way back in 1998(!). One of the major aims of the technology change we made for the new version was to help attract new developers as we always found them extremely hard to find when we used C++ (we now use Python and Javascript).
Postgres Tutorials
Reverse proxying requests to a pgAdmin server is becoming more and more popular if posts to the mailing lists are to be taken as an indicative measure; more often than not when using pgAdmin in a container (of which there have now been over 10 million pulls)!
Postgres Tutorials
During a conversation with $BOSS a couple of days ago the topic of the new Full Text Search in MongoDB came up. He (knowing of, but presumably having never worked with FTS in PostgreSQL) suggested I might create a tool like the one the MongoDB guys were proudly showing off in their keynote video from their recent conference to make it easy to index and search HTML documents on disk.
EDB Labs
This blog introduces a new benchmark framework for performance testing of PostgreSQL and EDB Postgres Advanced Server. Based on Ansible, it offers a highly configurable and easy to use way to run pgbench, TPROC-C, and TPROC-H tests across multiple servers at once in a consistent and reproducible manner. PostgreSQL and the operating system kernel can be configured and tuned as required, all using Ansible's Jinja2 templating to allow different runs to automatically use different parameters. Extensive logging and monitoring is also included, as well as hooks to allow customisation for installing and configuring your own extensions during test initialisation and logging custom stats.
This blog summarises the results of the pgAdmin User Survey run in 2022.
By default, pl/python3 functions and procedures in PostgreSQL will use the system Python environment. In order to avoid pollution of that environment and to separate requirements for different projects we can utilise virtual environments, either on a server-wide or per-session basis.