{"id":112457,"date":"2026-08-20T09:06:28","date_gmt":"2026-08-20T09:06:28","guid":{"rendered":"https:\/\/www.red-gate.com\/simple-talk\/?post_type=podcast&#038;p=112457"},"modified":"2026-08-20T09:12:19","modified_gmt":"2026-08-20T09:12:19","slug":"zero-downtime-franck-pachots-migration-from-oracle-to-postgresql","status":"publish","type":"podcast","link":"https:\/\/www.red-gate.com\/simple-talk\/podcasts\/zero-downtime-franck-pachots-migration-from-oracle-to-postgresql\/","title":{"rendered":"Zero downtime: Franck Pachot&#8217;s &#8216;migration&#8217; from Oracle to PostgreSQL"},"content":{"rendered":"\n<div class=\"mb-2xl\">\n            <button data-youtube-url=\"https:\/\/www.youtube.com\/embed\/7iJ3mtDiizY?si=6h1VTi07PUAcZVfB\" id=\"podcastModalButton\" class=\"relative aspect-[16\/9] bg-gray-900 flex items-center justify-center flex-col gap-md w-full p-md\">\n                            <img loading=\"lazy\" decoding=\"async\" width=\"1024\" height=\"574\" src=\"https:\/\/www.red-gate.com\/simple-talk\/wp-content\/uploads\/2026\/08\/franck-pachot-ST-podcast-YT-cover-1024x574.png\" class=\"object-cover absolute inset-0 w-full h-full wp-post-image\" alt=\"\" srcset=\"https:\/\/www.red-gate.com\/simple-talk\/wp-content\/uploads\/2026\/08\/franck-pachot-ST-podcast-YT-cover-1024x574.png 1024w, https:\/\/www.red-gate.com\/simple-talk\/wp-content\/uploads\/2026\/08\/franck-pachot-ST-podcast-YT-cover-300x168.png 300w, https:\/\/www.red-gate.com\/simple-talk\/wp-content\/uploads\/2026\/08\/franck-pachot-ST-podcast-YT-cover-768x430.png 768w, https:\/\/www.red-gate.com\/simple-talk\/wp-content\/uploads\/2026\/08\/franck-pachot-ST-podcast-YT-cover.png 1126w\" sizes=\"auto, (max-width: 1024px) 100vw, 1024px\" \/>                        <svg class=\"w-12 h-auto absolute m-auto text-base-white\" width=\"20\" height=\"20\" viewBox=\"0 0 20 20\" fill=\"none\" xmlns=\"http:\/\/www.w3.org\/2000\/svg\">\n                <path d=\"M10 0C3.5 0 0 3.5 0 10C0 16.5 3.5 20 10 20C16.5 20 20 16.5 20 10C20 3.5 16.5 0 10 0ZM11.47 12.71C10.08 13.51 8.64 14.11 7.25 14.5C7.06 13.13 6.95 11.61 6.95 10C6.95 8.39 7.06 6.87 7.25 5.5C8.64 5.89 10.08 6.49 11.47 7.29C12.86 8.09 14.06 9.02 15.05 10C14.07 10.98 12.87 11.9 11.47 12.71Z\" fill=\"currentColor\" \/>\n            <\/svg>\n\n        <\/button>\n    \n    <dialog id=\"podcastModal\" class=\"\">\n        <div class=\"bg-base-black bg-opacity-80 fixed inset-0 z-10 h-full w-full max-w-full max-h-full flex items-center justify-center\">\n            <div class=\"mx-auto relative w-full container\">\n                <div class=\"flex overflow-hidden rounded-xs bg-base-black\">\n                    <div class=\"relative aspect-[16\/9] w-full\">\n                        <iframe loading=\"lazy\" id=\"podcastYoutubeVideo\" class=\"absolute inset-0 w-full h-full\" width=\"560\" height=\"315\" src=\"\" frameborder=\"0\" allow=\"accelerometer; autoplay; clipboard-write; encrypted-media; gyroscope; picture-in-picture\" allowfullscreen><\/iframe>\n                    <\/div>\n                <\/div>\n                <button id=\"closeModalButton\" class=\"absolute -top-12 -right-0 w-auto h-12 flex items-center justify-center\">\n                    <svg class=\"w-8 h-8\" width=\"20\" height=\"20\" viewBox=\"0 0 20 20\" fill=\"none\" xmlns=\"http:\/\/www.w3.org\/2000\/svg\">\n                        <path d=\"M10 0C3.5 0 0 3.5 0 10C0 16.5 3.5 20 10 20C16.5 20 20 16.5 20 10C20 3.5 16.5 0 10 0ZM13.37 11.95C13.89 12.47 14.4 12.98 14.91 13.65C14.77 13.88 14.59 14.11 14.38 14.32C14.16 14.54 13.9 14.75 13.65 14.91C13.06 14.43 12.51 13.91 11.96 13.36L10.01 11.41L8.06 13.36C7.54 13.88 7.03 14.39 6.36 14.9C6.13 14.76 5.9 14.58 5.69 14.37C5.47 14.15 5.26 13.89 5.1 13.64C5.58 13.05 6.1 12.5 6.65 11.95L8.6 10L6.65 8.05C6.13 7.53 5.62 7.02 5.11 6.35C5.25 6.12 5.43 5.89 5.64 5.68C5.86 5.46 6.12 5.25 6.37 5.09C6.96 5.57 7.51 6.09 8.06 6.64L10.01 8.59L11.96 6.64C12.48 6.12 12.99 5.61 13.66 5.1C13.89 5.24 14.12 5.42 14.33 5.63C14.55 5.85 14.76 6.11 14.92 6.36C14.44 6.95 13.92 7.5 13.37 8.05L11.42 10L13.37 11.95Z\" fill=\"white\" \/>\n                    <\/svg>\n                <\/button>\n            <\/div>\n        <\/div>\n    <\/dialog>\n    \n            <div class=\"flex flex-wrap gap-4 items-center mt-3xl\">\n            <p class=\"mb-0 leading-tight font-bold\">Listen on:<\/p>\n            <div class=\"flex flex-wrap gap-xl\">\n                                    <a class=\"duration-200 hover:opacity-70\" href=\"https:\/\/open.spotify.com\/episode\/1HAQzPZPMrFJYiAsLWsMk1\" target=\"_blank\">\n                        <img decoding=\"async\" class=\"h-10 w-auto max-w-full\" src=\"https:\/\/www.red-gate.com\/simple-talk\/wp-content\/themes\/simple-talk-theme-2024\/assets\/images\/sharing\/spotify-podcast.png?v=2\" alt=\"Listen on Spotify\">\n                    <\/a>\n                                                    <a class=\"duration-200 hover:opacity-70\" href=\"https:\/\/podcasts.apple.com\/gb\/podcast\/zero-downtime-franck-pachot-on-his-migration-from-oracle\/id1773262159?i=1000784511761\" target=\"_blank\">\n                        <img decoding=\"async\" class=\"h-10 w-auto max-w-full\" src=\"https:\/\/www.red-gate.com\/simple-talk\/wp-content\/themes\/simple-talk-theme-2024\/assets\/images\/sharing\/apple-podcast.png?v=2\" alt=\"Listen on Apple Podcasts\">\n                    <\/a>\n                                                    <a class=\"duration-200 hover:opacity-70\" href=\"https:\/\/sites.libsyn.com\/537157\/zero-downtime-franck-pachot-on-his-migration-from-oracle-to-postgresql\" target=\"_blank\">\n                        <img decoding=\"async\" class=\"h-10 w-auto max-w-full\" src=\"https:\/\/www.red-gate.com\/simple-talk\/wp-content\/themes\/simple-talk-theme-2024\/assets\/images\/sharing\/libsyn-podcast.png?v=2\" alt=\"Listen on Libsyn\">\n                    <\/a>\n                                                    <a class=\"duration-200 hover:opacity-70 flex-shrink-0\" href=\"https:\/\/music.amazon.com\/podcasts\/bb23354a-9850-428f-9cb3-83235ef279c6\/episodes\/42b520b3-77f0-46b5-86d5-d8555c15cbde\/simple-talks-zero-downtime-franck-pachot-on-his-'migration'-from-oracle-to-postgresql\" target=\"_blank\">\n                        <img decoding=\"async\" class=\"h-10 w-auto max-w-full\" src=\"https:\/\/www.red-gate.com\/simple-talk\/wp-content\/themes\/simple-talk-theme-2024\/assets\/images\/sharing\/amazon-podcast.png?v=2\" alt=\"Listen on Amazon Music\">\n                    <\/a>\n                            <\/div>\n        <\/div>\n    \n    <\/div>\n\n\n<p>We catch up with <strong>Franck Pachot<\/strong>, a longtime database community figure who has moved through Oracle, CERN,&nbsp;Yugabyte, MongoDB&nbsp;and,&nbsp;most recently, the PostgreSQL team at Microsoft.&nbsp;<\/p>\n\n\n\n<p>Hear stories from Franck&#8217;s varied career, learn&nbsp;what makes technical content genuinely useful to developers, how PostgreSQL&#8217;s&nbsp;MVCC and extension model differs from Oracle&#8217;s, and what&#8217;s&nbsp;<em>really<\/em>&nbsp;going on with Microsoft&#8217;s growing family of PostgreSQL&nbsp;offerings (Flexible Server, Horizon DB, and&nbsp;DocumentDB).&nbsp;<\/p>\n\n\n\n<p>Find Franck&#8217;s written content at&nbsp;<a href=\"https:\/\/franckpachot.github.io\/pages\/\" target=\"_blank\" rel=\"noreferrer noopener\">https:\/\/franckpachot.github.io\/pages\/<\/a>&nbsp;<\/p>\n\n\n\n<p>Listen or watch to every episode of the Redgate Simple Talk podcast at&nbsp;<br><a href=\"https:\/\/www.red-gate.com\/simple-talk\/podcasts\/\" target=\"_blank\" rel=\"noreferrer noopener\">https:\/\/www.red-gate.com\/simple-talk\/podcasts\/<\/a><\/p>\n\n\n\n<h2 class=\"wp-block-heading\" id=\"h-10-key-takeaways-from-this-episode\">10 key takeaways from this episode<\/h2>\n\n\n\n<p id=\"h-don-t-have-time-to-listen-here-are-the-10-key-takeaways-from-this-simple-talk-podcast-episode-with-franck-pachot\">Don&#8217;t have time to listen? Here are the 10 key takeaways from this Simple Talk podcast episode with Franck Pachot.<\/p>\n\n\n\n<h3 class=\"wp-block-heading\">1. Community involvement can quietly reshape a career<\/h3>\n\n\n\n<p>Franck Pachot traces the start of his broader database career back to a chance introduction at <a href=\"https:\/\/www.oracle.com\/openworld\/\" target=\"_blank\" rel=\"noreferrer noopener\">Oracle OpenWorld<\/a> in 2014 (before he was even an <a href=\"https:\/\/ace.oracle.com\/ords\/r\/ace\/oracle-aces\/home\" target=\"_blank\" rel=\"noreferrer noopener\">Oracle ACE<\/a>). That one connection opened the door to years of community involvement, which eventually gave him the confidence and network to explore databases <em>beyond<\/em> Oracle.<\/p>\n\n\n\n<h3 class=\"wp-block-heading\" id=\"h-2-curiosity-drove-his-platform-hopping\">2. Curiosity drove his platform-hopping<\/h3>\n\n\n\n<p>Franck is clear: leaving Oracle wasn&#8217;t about disliking it. It was more a case of wanting to learn other systems but lacking the bandwidth to do so while consulting full-time. A move to CERN, with its variety of database technologies, was Franck&#8217;s first real opportunity to branch out.<\/p>\n\n\n\n<h3 class=\"wp-block-heading\">3. Great technical content meets people at their level<\/h3>\n\n\n\n<p>Both Franck and host Kellyn Gorman point to <a href=\"https:\/\/www.orafaq.com\/wiki\/Tom_Kyte\" target=\"_blank\" rel=\"noreferrer noopener\">Tom Kyte<\/a> as a model for developer-focused communication, someone who explained <em>why<\/em> an answer was correct with a clear demonstration. Franck tries to build every one of his tutorials, articles, or demos, around that principle: simple, practical, and rooted in what the user is actually trying to do.<\/p>\n\n\n\n<h3 class=\"wp-block-heading\">4. Understanding developers makes for better DBAs<\/h3>\n\n\n\n<p>Franck never wanted to be <em>&#8220;the DBA who thinks developers are there to break the database.&#8221;<\/em> Instead, his goal has always been to understand what the user is trying to accomplish and help them get there. It&#8217;s a mindset he carried through his advocacy work at <a href=\"https:\/\/www.red-gate.com\/simple-talk\/databases\/nosql\/getting-started-with-mongodb\/\" target=\"_blank\" rel=\"noreferrer noopener\">MongoDB<\/a> all the way to his present <a href=\"https:\/\/www.red-gate.com\/simple-talk\/databases\/postgresql\/\" target=\"_blank\" rel=\"noreferrer noopener\">PostgreSQL<\/a> role at Microsoft.<\/p>\n\n\n\n<h3 class=\"wp-block-heading\" id=\"h-5-postgresql-s-mvcc-isn-t-worse-than-oracle-s-it-s-just-different\">5. PostgreSQL&#8217;s MVCC isn&#8217;t worse than Oracle&#8217;s&#8230;it&#8217;s just <em>different<\/em><\/h3>\n\n\n\n<p>Engineers coming from Oracle often assume <a href=\"https:\/\/www.red-gate.com\/simple-talk\/databases\/postgresql\/multi-version-concurrency-control-mvcc-in-postgresql-learning-postgresql-with-grant\/\" target=\"_blank\" rel=\"noreferrer noopener\">PostgreSQL&#8217;s multi-version concurrency control (MVCC)<\/a> &#8211; and its need for vacuuming &#8211; is a weaker design, but Franck firmly disputes this. PostgreSQL keeps all visibility information in the table tuples rather than the index &#8211; a deliberate trade-off that enables a much wider variety of <a href=\"https:\/\/www.red-gate.com\/simple-talk\/databases\/postgresql\/index-types-in-postgresql-learning-postgresql-with-grant\/\" target=\"_blank\" rel=\"noreferrer noopener\">index types<\/a> and extensions, and is something Oracle&#8217;s single-index-type approach <em>doesn&#8217;t<\/em> allow.<\/p>\n\n\n\n<h3 class=\"wp-block-heading\" id=\"h-6-free-open-source-still-comes-with-real-responsibility\">6. &#8220;Free&#8221; open-source still comes with real responsibility<\/h3>\n\n\n\n<p>Both Franck and Kellyn emphasize that choosing PostgreSQL means taking on more ownership. With a commercial vendor, you can escalate a support ticket. With <a href=\"https:\/\/db-engines.com\/en\/ranking_osvsc\" target=\"_blank\" rel=\"noreferrer noopener\">open-source<\/a>, however, the responsibility for care, feeding, and decision-making <em>stays with you<\/em>. As Franck put it: it&#8217;s not free, but you have the freedom &#8211; and with freedom comes responsibility!<\/p>\n\n\n\n<h3 class=\"wp-block-heading\" id=\"h-7-microsoft-s-postgresql-portfolio-has-three-distinct-flavors\">7. Microsoft&#8217;s PostgreSQL portfolio has three distinct flavors<\/h3>\n\n\n\n<p>First we have <a href=\"https:\/\/www.red-gate.com\/simple-talk\/databases\/postgresql\/getting-started-with-azure-database-for-postgresql-flexible-server\/\" target=\"_blank\" rel=\"noreferrer noopener\">PostgreSQL Flexible Server<\/a>, which runs standard community PostgreSQL (with extensions like <a href=\"https:\/\/www.citusdata.com\/\" target=\"_blank\" rel=\"noreferrer noopener\">Citus<\/a> for <a href=\"https:\/\/www.red-gate.com\/simple-talk\/databases\/sql-server\/performance-sql-server\/designing-highly-scalable-database-architectures\/#database-sharding:~:text=in%20cache%2C%20etc.-,Database%20Sharding,-When%20your%20application\" target=\"_blank\" rel=\"noreferrer noopener\">sharding<\/a>). Then, there&#8217;s <a href=\"https:\/\/azure.microsoft.com\/en-us\/products\/horizondb\" target=\"_blank\" rel=\"noreferrer noopener\">Azure Horizon DB<\/a> (in preview), which uses disaggregated storage to scale compute and storage independently (similar to <a href=\"https:\/\/docs.aws.amazon.com\/AmazonRDS\/latest\/AuroraUserGuide\/CHAP_AuroraOverview.html\" target=\"_blank\" rel=\"noreferrer noopener\">Amazon Aurora<\/a> or <a href=\"https:\/\/neon.com\/\" target=\"_blank\" rel=\"noreferrer noopener\">Neon<\/a>). Finally, <a href=\"https:\/\/aws.amazon.com\/documentdb\/\" target=\"_blank\" rel=\"noreferrer noopener\">Amazon DocumentDB<\/a> is a NoSQL\/document layer built as a PostgreSQL extension, offering MongoDB API (application programming interface) compatibility <em>on top<\/em> of PostgreSQL.<\/p>\n\n\n\n<h3 class=\"wp-block-heading\">8. Choosing a scaling strategy depends on your workload shape<\/h3>\n\n\n\n<p>Citus works well when you already know your sharding key &#8211; ideal for <a href=\"https:\/\/learn.microsoft.com\/en-us\/azure\/architecture\/guide\/saas-multitenant-solution-architecture\/\" target=\"_blank\" rel=\"noreferrer noopener\">multi-tenant SaaS<\/a> (software-as-a-service) applications. However, for workloads with multiple valid ways to query the data, Horizon DB&#8217;s storage-layer scaling may be a better fit, since it avoids picking a single sharding key up-front. This matters, especially when modernizing from <a href=\"https:\/\/www.red-gate.com\/simple-talk\/databases\/sql-server\/\" target=\"_blank\" rel=\"noreferrer noopener\">SQL Server<\/a> or Oracle.<\/p>\n\n\n\n<h3 class=\"wp-block-heading\" id=\"h-9-the-rise-of-postgresql-is-actually-the-rise-of-many-postgresql\">9. The rise of PostgreSQL is actually the rise of <em>&#8220;many PostgreSQL&#8221;<\/em><\/h3>\n\n\n\n<p>Franck notes the irony that companies want to standardize on <em>&#8220;just PostgreSQL&#8221;<\/em> to reduce database sprawl, but end up running multiple flavors of the system anyway! A fork for managed services, for example, or an extension for document workloads &#8211; the list goes on. The common thread, and what actually matters for developers, is that the SQL API stays consistent across all of them.<\/p>\n\n\n\n<h3 class=\"wp-block-heading\" id=\"h-10-build-t-shaped-expertise-deep-in-one-area-broad-everywhere-else\">10. Build &#8220;T-shaped&#8221; expertise: deep in one area, broad everywhere else<\/h3>\n\n\n\n<p>Advice for newcomers to the database industry? Franck recommends developing deep expertise in one database, while maintaining a broad awareness of others. Not only does this help to learn new systems faster, it also allows engineers to understand the boundaries of their own knowledge &#8211; and know when to bring in outside expertise.<\/p>\n","protected":false},"excerpt":{"rendered":"<p>Franck Pachot on his journey from Oracle to Microsoft&#8217;s PostgreSQL team, PostgreSQL vs Oracle internals, and what&#8217;s next for the PostgreSQL lineup.&hellip;<\/p>\n","protected":false},"featured_media":112470,"template":"","tags":[4362,4168,4170,5618,4459,158978,4150,4151],"podcast_category":[159200],"podcast_season":[159361],"class_list":["post-112457","podcast","type-podcast","status-publish","has-post-thumbnail","hentry","tag-career","tag-database","tag-database-administration","tag-mongodb","tag-oracle","tag-postgresql","tag-sql","tag-sql-server","podcast_category-coffee-chats","podcast_season-season-3"],"acf":[],"_links":{"self":[{"href":"https:\/\/www.red-gate.com\/simple-talk\/wp-json\/wp\/v2\/podcast\/112457","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/www.red-gate.com\/simple-talk\/wp-json\/wp\/v2\/podcast"}],"about":[{"href":"https:\/\/www.red-gate.com\/simple-talk\/wp-json\/wp\/v2\/types\/podcast"}],"wp:featuredmedia":[{"embeddable":true,"href":"https:\/\/www.red-gate.com\/simple-talk\/wp-json\/wp\/v2\/media\/112470"}],"wp:attachment":[{"href":"https:\/\/www.red-gate.com\/simple-talk\/wp-json\/wp\/v2\/media?parent=112457"}],"wp:term":[{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/www.red-gate.com\/simple-talk\/wp-json\/wp\/v2\/tags?post=112457"},{"taxonomy":"podcast_category","embeddable":true,"href":"https:\/\/www.red-gate.com\/simple-talk\/wp-json\/wp\/v2\/podcast_category?post=112457"},{"taxonomy":"podcast_season","embeddable":true,"href":"https:\/\/www.red-gate.com\/simple-talk\/wp-json\/wp\/v2\/podcast_season?post=112457"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}