DBA Migration Readiness Checklist โ€” PostgreSQL Production Labs
PostgreSQL Production Labs ยท DBA Transition Guide

You Already Know This.
You Just Need to Know It in PostgreSQL.

Managing Oracle, SQL Server, or MySQL in production? You already have the instincts. Use this checklist to see where your skills map directly โ€” and where PostgreSQL does things differently.

๐Ÿ”ด Oracle DBA ๐Ÿ”ต SQL Server DBA ๐ŸŸก MySQL DBA โ†’ ๐Ÿ˜ PostgreSQL
๐Ÿ’ก How to use this

Scan each row. Green = pick up fast. Yellow = small adjustment. White = needs focused study. Bring any task from your current job and ask: "how does PostgreSQL do this?"

๐Ÿ”ด Oracle DBAs

WAL = Redo logs ยท pg_dump = Data Pump ยท pg_basebackup = RMAN ยท Patroni = Data Guard. Biggest shift: no undo tablespace โ€” PostgreSQL MVCC works differently.

๐Ÿ”ต SQL Server DBAs

WAL = Transaction Log ยท Patroni = Always On AG ยท pg_hba.conf = Login/User ยท pgBadger = Query Store. Steepest curve: PostgreSQL runs on Linux natively.

๐ŸŸก MySQL DBAs

WAL = Binlog ยท Patroni = MHA/Group Replication ยท VACUUM = InnoDB purge thread. You're already on Linux โ€” closest starting point of the three.

Similarity ๐ŸŸข Same concept, different syntax ๐ŸŸก Similar โ€” small differences โšช Different approach โ€” needs learning โ€” Not applicable
1
Installation & Initial Setup
13 activities
PostgreSQL Activity Oracle Equivalent SQL Server Equivalent MySQL Equivalent
Install prerequisites (make, gcc, readline, zlib)
๐ŸŸข SameOS prereqs for OUI installer
๐ŸŸข SamePrerequisites installer check
๐ŸŸข SameStandard Linux prep
Install PostgreSQL using RPMs on CentOS
๐ŸŸข SameOracle RPM installer
๐ŸŸก SimilarSQL Server on Linux RPM
๐ŸŸข SameMySQL RPM install
Install PostgreSQL using YUM on CentOS
๐ŸŸข SameOracle yum repo install
๐ŸŸก SimilarSQL Server yum install
๐ŸŸข SameMySQL yum install
Install PostgreSQL using Source code
โšช DifferentOracle closed-source โ€” no equivalent
โšช DifferentSQL Server closed-source โ€” no equivalent
๐ŸŸก SimilarMySQL source build (cmake)
Initialize PostgreSQL cluster (initdb)
๐ŸŸก Similardbca / manual create database
๐ŸŸก Similarsetup.exe / sqlservr --create
๐ŸŸก Similarmysqld --initialize
Initialize cluster โ€” non-default data location
๐ŸŸก SimilarORACLE_BASE / dbca custom paths
๐ŸŸข SameSQL Server data directory config
๐ŸŸข Samedatadir in my.cnf
Install contrib modules, create pg_buffercache extension
๐ŸŸก SimilarOracle optional components
๐ŸŸก SimilarSQL Server optional features
๐ŸŸก SimilarMySQL INSTALL PLUGIN
Uninstall PostgreSQL (YUM / RPM / Source) Optional
๐ŸŸข SameOracle deinstall utility
๐ŸŸข SameAdd/Remove Programs
๐ŸŸข Sameyum remove mysql-server
Install postgresql-devel module
โšช DifferentNo direct equivalent
โšช DifferentNo direct equivalent
๐ŸŸก Similarmysql-devel package
Start / stop cluster using pg_ctl
๐ŸŸข Samesqlplus startup / shutdown
๐ŸŸข Samenet start/stop MSSQLSERVER
๐ŸŸข Samemysqld_safe / mysqladmin
Shutdown modes (smart / fast / immediate)
๐ŸŸข Sameshutdown normal / transactional / abort
๐ŸŸก Similarnet stop / SHUTDOWN WITH NOWAIT
๐ŸŸก Similarmysqladmin shutdown modes
Set up bash profile (PGDATA, PGPORT, PATH)
๐ŸŸข SameORACLE_HOME, ORACLE_SID in .bashrc
๐ŸŸก SimilarEnv vars in systemd / .profile
๐ŸŸข SamePATH to mysql bin in .bashrc
Set postgres password / pgpass file / psqlrc
๐ŸŸข SameOracle wallet / orapass
๐ŸŸก SimilarCredential Manager / .sqlcmd file
๐ŸŸข Same.my.cnf password file
2
Configuration & Client Tools
5 activities
PostgreSQL ActivityOracle EquivalentSQL Server EquivalentMySQL Equivalent
Running psql client and shortcuts
๐ŸŸข Samesqlplus CLI client
๐ŸŸก Similarsqlcmd / Azure Data Studio
๐ŸŸข Samemysql CLI client
Locate the configuration file (postgresql.conf)
๐ŸŸข Sameinit.ora / spfile
๐ŸŸข Samesp_configure / SQL Server config
๐ŸŸข Samemy.cnf / my.ini
Tune parameters (pgtune) in postgresql.conf
๐ŸŸข SameSGA, PGA, db_block_size tuning
๐ŸŸข Samemax server memory, MAXDOP
๐ŸŸข Sameinnodb_buffer_pool_size etc.
Apply parameters (reload vs restart)
๐ŸŸข SameALTER SYSTEM / scope=memory/spfile
๐ŸŸข SameRECONFIGURE / service restart
๐ŸŸข SameSET GLOBAL / FLUSH / restart
Benchmarking with pgbench
๐ŸŸก SimilarSwingbench / SLOB
๐ŸŸก SimilarHammerDB / ostress
๐ŸŸก Similarsysbench
3
Security, Access Control & Users
8 activities
PostgreSQL ActivityOracle EquivalentSQL Server EquivalentMySQL Equivalent
Secure connections via pg_hba.conf (md5 auth)
๐ŸŸก Similarsqlnet.ora / listener.ora
๐ŸŸก SimilarSQL Server Login / Windows Auth
๐ŸŸข Sameuser@host grants in mysql.user
Enable SSL for connections
๐ŸŸข SameOracle Advanced Security / TCPS
๐ŸŸข SameForce Encryption / TLS
๐ŸŸข Samerequire_secure_transport
Create a user in PostgreSQL
๐ŸŸข SameCREATE USER
๐ŸŸข SameCREATE LOGIN + CREATE USER
๐ŸŸข SameCREATE USER
Create readonly user
๐ŸŸข SameGRANT SELECT to user
๐ŸŸข Samedb_datareader role
๐ŸŸข SameGRANT SELECT on *.* to user
Create group role (DBA / dev role segregation)
๐ŸŸข SameOracle roles (DBA, CONNECT, RESOURCE)
๐ŸŸข SameServer roles / DB fixed roles
๐ŸŸก SimilarRole-based GRANT in MySQL 8+
Drop a user in PostgreSQL
๐ŸŸข SameDROP USER
๐ŸŸข SameDROP LOGIN / DROP USER
๐ŸŸข SameDROP USER
Audit database access via logging
๐ŸŸข SameOracle Unified Auditing
๐ŸŸข SameSQL Server Audit
๐ŸŸก SimilarGeneral log / audit log plugin
Audit PostgreSQL using pgaudit extension
๐ŸŸก SimilarOracle Unified Auditing (more granular)
๐ŸŸก SimilarSQL Server Audit feature
๐ŸŸก SimilarMySQL Enterprise Audit plugin
4
Storage, Schemas & Database Objects
8 activities
PostgreSQL ActivityOracle EquivalentSQL Server EquivalentMySQL Equivalent
Create and drop databases
๐ŸŸก SimilarOracle = one DB per instance; PDB in 12c+
๐ŸŸข SameCREATE / DROP DATABASE
๐ŸŸข SameCREATE / DROP DATABASE
Locate a database and table on the filesystem
๐ŸŸก Similardatafiles in dba_data_files
๐ŸŸก Similar.mdf / .ndf files on disk
๐ŸŸข Samedatadir / table .ibd files
Create a schema in PostgreSQL
๐ŸŸข SameCREATE SCHEMA (user = schema in Oracle)
๐ŸŸข SameCREATE SCHEMA
โšช DifferentMySQL schema = database; no sub-schemas
Create tablespaces Optional
๐ŸŸข SameCREATE TABLESPACE
๐ŸŸก SimilarFilegroups
๐ŸŸก SimilarInnoDB tablespaces (limited)
Move tables to a different tablespace Optional
๐ŸŸข SameALTER TABLE MOVE TABLESPACE
๐ŸŸก SimilarCREATE INDEX โ€ฆ ON filegroup
โ€”
Move database objects between schemas
๐ŸŸก SimilarExport/import between schemas
๐ŸŸข SameALTER SCHEMA โ€ฆ TRANSFER
โ€”
Add or remove tablespaces
๐ŸŸข SameALTER / DROP TABLESPACE
๐ŸŸก SimilarAdd / remove filegroups
โšช DifferentVery limited tablespace control
Create and refresh materialized views
๐ŸŸข SameMaterialized Views (Oracle native)
๐ŸŸก SimilarIndexed Views (limited auto-refresh)
โšช DifferentNo native MVs โ€” manual sync tables
5
Backup & Recovery
7 activities
PostgreSQL ActivityOracle EquivalentSQL Server EquivalentMySQL Equivalent
Backup & restore a database (pg_dump / pg_restore)
๐ŸŸข Sameexpdp / impdp (Data Pump)
๐ŸŸข SameBACKUP DATABASE / RESTORE DATABASE
๐ŸŸข Samemysqldump / mysqlpump
Backup one or more tables using pg_dump
๐ŸŸข Sameexpdp TABLES= parameter
๐ŸŸก SimilarBCP / SELECT INTO from source
๐ŸŸข Samemysqldump --tables
Backup all databases using pg_dumpall
๐ŸŸก Similarexpdp FULL=Y
๐ŸŸก SimilarBack up all system + user databases
๐ŸŸข Samemysqldump --all-databases
Parallel backup & restore with pg_dump
๐ŸŸข Sameexpdp PARALLEL= option
๐ŸŸก SimilarStriped backups to multiple files
โšช DifferentNo native parallel dump in mysqldump
Backup cluster using pg_basebackup (physical)
๐ŸŸข SameRMAN cold / hot backup
๐ŸŸข SameFull database backup to disk
๐ŸŸข Samextrabackup / mysqlbackup
Set up WAL archiving (archive_mode)
๐ŸŸข SameARCHIVELOG mode
๐ŸŸข SameFull recovery model + log backups
๐ŸŸข SameBinary logging (binlog)
Restore pg_basebackup with PITR
๐ŸŸข SameRMAN restore + recover to SCN/time
๐ŸŸข SameRESTORE DATABASE WITH STOPAT
๐ŸŸก SimilarRestore + replay binlog to point-in-time
6
Replication & High Availability
7 activities
PostgreSQL ActivityOracle EquivalentSQL Server EquivalentMySQL Equivalent
Set up streaming replication
๐ŸŸข SameData Guard physical standby
๐ŸŸข SameAlways On Availability Groups
๐ŸŸข SameAsync / semi-sync replication
Monitor standby WAL receive / apply lag
๐ŸŸข Samev$archive_gap / DG lag view
๐ŸŸข SameAG dashboard / log send queue
๐ŸŸข SameSeconds_Behind_Master
Perform failover (promote standby)
๐ŸŸข SameData Guard failover
๐ŸŸข SameAG manual failover
๐ŸŸข SameCHANGE MASTER TO / MHA failover
Perform switchover (planned role swap)
๐ŸŸข SameData Guard switchover
๐ŸŸข SameAG planned failover
๐ŸŸก SimilarOrchestrator / MHA switchover
Set up replication slot based streaming Optional
โšช DifferentDG manages apply โ€” no slots concept
โšช DifferentNo equivalent in AG
๐ŸŸก SimilarGTID-based tracking concept
Set up Patroni (automatic HA + etcd)
๐ŸŸข SameData Guard Broker / Observer
๐ŸŸข SameAlways On AG automatic failover
๐ŸŸข SameMHA / Group Replication / Orchestrator
Set up PgBouncer connection pooler
๐ŸŸก SimilarOracle CMAN / Connection Manager
๐ŸŸก SimilarDriver-level pooling (no standalone tool)
๐ŸŸก SimilarProxySQL
7
Performance, Monitoring & Logging
12 activities
PostgreSQL ActivityOracle EquivalentSQL Server EquivalentMySQL Equivalent
Set up Grafana for PostgreSQL monitoring
๐ŸŸก SimilarOEM / Enterprise Manager Cloud Control
๐ŸŸก SimilarSQL Server Dashboard / Azure Monitor
๐ŸŸก SimilarMySQL Enterprise Monitor / PMM
Set up slow query logging
๐ŸŸข Samesql_trace / v$sql by elapsed time
๐ŸŸข SameQuery Store / Extended Events
๐ŸŸข Sameslow_query_log / long_query_time
Log runtime execution plans (auto_explain)
๐ŸŸข Samesql_trace + tkprof / DBMS_XPLAN
๐ŸŸข SameActual execution plan / Extended Events
๐ŸŸก SimilarEXPLAIN FORMAT=JSON in slow log
Log locks, waits, and temp usage
๐ŸŸข Samev$lock / v$session_wait
๐ŸŸข Samesys.dm_exec_requests / wait stats
๐ŸŸข Sameperformance_schema lock tables
Log autovacuum activity
โšช DifferentNo equivalent โ€” undo managed separately
โšช DifferentGhost cleanup is fully internal / silent
๐ŸŸก SimilarInnoDB purge thread monitoring
Tune logging parameters for pgBadger
๐ŸŸก Similarsql_trace / audit setup
๐ŸŸก SimilarQuery Store / Extended Events setup
๐ŸŸข Sameslow_query_log format settings
Generate a pgBadger report (log analysis)
๐ŸŸก SimilarAWR / ADDM report
๐ŸŸก SimilarQuery Store reports / SQL Server Reports
๐ŸŸก Similarpt-query-digest (Percona Toolkit)
Configure pg_stat_statements extension
๐ŸŸข Samev$sql / v$sqlstats
๐ŸŸข Samesys.dm_exec_query_stats / Query Store
๐ŸŸข Sameperformance_schema statement summary
Query analysis using pg_stat_statements
๐ŸŸข SameTop SQL by elapsed / CPU in AWR
๐ŸŸข SameQuery Store top resource consumers
๐ŸŸข Sameperformance_schema top queries
Understanding PostgreSQL locking (pg_locks)
๐ŸŸข Samev$lock / v$session
๐ŸŸข Samesys.dm_os_waiting_tasks
๐ŸŸข Sameinnodb_trx / innodb_lock_waits
Monitor VACUUM progress (pg_stat_progress_vacuum)
โšช DifferentNo vacuum โ€” undo reclaimed automatically
โšช DifferentNo vacuum โ€” ghost cleanup is silent
๐ŸŸก Similarinnodb_purge_threads monitoring
Check slow queries / locks / kill a session
๐ŸŸข Samev$session + ALTER SYSTEM KILL SESSION
๐ŸŸข Samesp_who2 / KILL session_id
๐ŸŸข SameSHOW PROCESSLIST / KILL query_id
8
Maintenance, Upgrades & Advanced
10 activities
PostgreSQL ActivityOracle EquivalentSQL Server EquivalentMySQL Equivalent
Fix a bloated table (VACUUM FULL)
๐ŸŸก SimilarALTER TABLE MOVE to reclaim space
๐ŸŸก SimilarDBCC SHRINKFILE / SHRINKDATABASE
๐ŸŸก SimilarOPTIMIZE TABLE
Reindex / find and remove unused indexes
๐ŸŸข SameALTER INDEX REBUILD / monitoring_usage
๐ŸŸข SameALTER INDEX REBUILD / dm_db_index_usage_stats
๐ŸŸข SameOPTIMIZE TABLE / performance_schema
EXPLAIN ANALYZE โ€” joins, subqueries, predicates
๐ŸŸข SameEXPLAIN PLAN / DBMS_XPLAN
๐ŸŸข SameSET SHOWPLAN_ALL / Actual Execution Plan
๐ŸŸข SameEXPLAIN / EXPLAIN ANALYZE (MySQL 8+)
Force a query to use an index
๐ŸŸก SimilarINDEX hint
๐ŸŸก SimilarWITH (INDEX(โ€ฆ)) hint
๐ŸŸก SimilarFORCE INDEX hint
Upgrade PostgreSQL (pg_upgrade)
๐ŸŸข SameDBUA / manual upgrade
๐ŸŸข SameIn-place / side-by-side upgrade
๐ŸŸข SameIn-place upgrade / mysql_upgrade
Move pg_wal / postgresql.conf to another location Optional
๐ŸŸข SameMove redo logs to different diskgroup
๐ŸŸข SameMove .ldf / detach-attach
๐ŸŸข SameMove binlog to different disk
Cascaded streaming replica Optional
๐ŸŸก SimilarCascaded Data Guard standby
๐ŸŸก SimilarDistributed AG / cascaded AG
๐ŸŸข SameRelay-based chained replication
Synchronous streaming replication Optional
๐ŸŸข SameData Guard SYNC / AFFIRM mode
๐ŸŸข SameAG synchronous commit mode
๐ŸŸก SimilarSemi-sync replication
pg_rewind to re-sync a demoted primary Optional
๐ŸŸข SameFlashback / re-join old primary in DG
๐ŸŸก SimilarAG seeding to re-join failed replica
๐ŸŸก SimilarCHANGE MASTER TO + clone old primary
Set up logical replication in PostgreSQL
๐ŸŸข SameOracle Streams / GoldenGate
๐ŸŸข SameSQL Server Transactional Replication
๐ŸŸข SameBinlog-based logical replication
9
Cloud Managed Services
8 activities
PostgreSQL Activity (AWS RDS / Aurora)Oracle EquivalentSQL Server EquivalentMySQL Equivalent
Launch a PostgreSQL RDS instance
๐ŸŸข SameAWS RDS for Oracle
๐ŸŸข SameAWS RDS for SQL Server
๐ŸŸข SameAWS RDS for MySQL
Configure RDS parameter groups (= postgresql.conf)
๐ŸŸข SameRDS Oracle parameter groups
๐ŸŸข SameRDS SQL Server parameter groups
๐ŸŸข SameRDS MySQL parameter groups
RDS automated backups, snapshots & PITR
๐ŸŸข SameRDS Oracle automated backups
๐ŸŸข SameRDS SQL Server automated backups
๐ŸŸข SameRDS MySQL automated backups
Set up RDS Multi-AZ (HA in cloud)
๐ŸŸข SameRDS Oracle Multi-AZ
๐ŸŸข SameRDS SQL Server Multi-AZ
๐ŸŸข SameRDS MySQL Multi-AZ
Create Aurora PostgreSQL cluster
โšช DifferentNo Oracle Aurora equivalent
โšช DifferentNo SQL Server Aurora equivalent
๐ŸŸข SameAurora MySQL โ€” same cluster concept
Use RDS Performance Insights
๐ŸŸก SimilarCloudWatch for Oracle RDS
๐ŸŸก SimilarRDS Performance Insights for SQL Server
๐ŸŸข SameRDS Performance Insights for MySQL
Migrate to RDS using AWS DMS
๐ŸŸข SameAWS DMS from Oracle source
๐ŸŸข SameAWS DMS from SQL Server source
๐ŸŸข SameAWS DMS from MySQL source
Provision infrastructure with Terraform (VPC, RDS, security groups)
๐ŸŸข SameTerraform for Oracle RDS
๐ŸŸข SameTerraform for SQL Server RDS
๐ŸŸข SameTerraform for MySQL RDS
10
Third-Party Tools & GUI Clients
8 activities
PostgreSQL Tool / TaskOracle EquivalentSQL Server EquivalentMySQL Equivalent
pgAdmin โ€” GUI administration and query tool
๐ŸŸข SameSQL Developer / TOAD
๐ŸŸข SameSSMS (SQL Server Management Studio)
๐ŸŸข SameMySQL Workbench
DBeaver โ€” universal database GUI (free)
๐ŸŸข SameDBeaver connects to Oracle too
๐ŸŸข SameDBeaver connects to SQL Server too
๐ŸŸข SameDBeaver connects to MySQL too
DataGrip โ€” JetBrains IDE for SQL
๐ŸŸข SameDataGrip supports Oracle
๐ŸŸข SameDataGrip supports SQL Server
๐ŸŸข SameDataGrip supports MySQL
ora2pg โ€” schema & data migration from Oracle
๐ŸŸข SamePurpose-built for Oracle โ†’ PostgreSQL
โ€”Use AWS SCT or SSMA instead
โ€”Use pgloader or DMS instead
AWS SCT (Schema Conversion Tool)
๐ŸŸข SameConverts Oracle DDL + PL/SQL
๐ŸŸข SameConverts SQL Server DDL + T-SQL
๐ŸŸข SameConverts MySQL DDL
Prometheus + postgres_exporter (metrics collection)
๐ŸŸก SimilarOEM metrics / custom scripts
๐ŸŸก SimilarSQL Server Exporter for Prometheus
๐ŸŸข Samemysqld_exporter / PMM
pgBadger (log analysis & reporting)
๐ŸŸก SimilarAWR / ADDM / Statspack
๐ŸŸก SimilarSQL Server Reports / Query Store
๐ŸŸก Similarpt-query-digest (Percona Toolkit)
Install and work with pgadmin (web / desktop)
๐ŸŸข SameSQL Developer (free Oracle tool)
๐ŸŸข SameSSMS โ€” equivalent experience
๐ŸŸข SameMySQL Workbench โ€” equivalent experience

Have a task from your current database you don't see here? Just ask: "In Oracle I do X every quarter โ€” how does PostgreSQL handle that?" Bring your real responsibilities and map them one by one.

Ask a Question โ†’
Scroll to Top