upgrade!

in lib/gdk/postgresql_upgrader.rb [20:48]


    def upgrade!
      check!

      unless upgrade_needed?(target_version)
        GDK::Output.success "'#{current_data_dir}' is already compatible with PostgreSQL #{target_version}."
        return
      end

      begin
        gdk_stop
        init_db_in_target_path
        pgvector_setup
        rename_current_data_dir
        pg_upgrade
        promote_new_db
        gdk_reconfigure
        pg_replica_upgrade('replica')
        pg_replica_upgrade('replica_2')
      rescue StandardError => e
        GDK::Output.error("An error occurred: #{e}", e)
        GDK::Output.warn 'Rolling back..'
        rename_current_data_dir_back
        GDK::Output.warn "Upgrade failed. Rolled back to the original PostgreSQL #{current_version}."
        raise e
      end

      GDK::Output.success "Upgraded '#{current_data_dir}' from PostgreSQL #{current_version} to #{target_version}."
    end