<!--- This environment context section helps us quickly review your PR. 
      Please take a minute to fill-out this information. -->

## Environment
**Liquibase Version**: 4.3.3

**Liquibase Integration & Version**: Spring Boot 2.4.5

**Database Vendor & Version**: PostgresQL 12 w/ Timescale Extension

**Operating System Type & Version**: Linux 5.11

## Description
I am attempting to call an extension function that is added by the Timescale extension via a migration using a \<sql\> element. When the migration runs, I get an error indicating that the function doesn't existing with the given arguments. However, I have confirmed that the function is present by running the exact same SQL against the database directly.

I have used a similar call in the past and had success, so I eventually discovered that this sort of thing used to work in 3.7.0, but no longer works in 4.3.3. It seems like something is now configured in Liquibase such that it can't find these extension functions (schema related perhaps?).

This seems like it might be related to: https://github.com/liquibase/liquibase/issues/1821, but I wasn't sure.

## Steps To Reproduce
1) Run Timescale docker image (timescale/timescaledb:2.0.1-pg12)
2) Attempt to run a migration calling the create_hypertable extension function, or any extension function I suspect ```<sql>select create_hypertable('schema.table', 'timestamp');</sql>```
3) Run migration

## Actual Behavior
Migration fails with:

ERROR: function create_hypertable(unknown, unknown) does not exist
Hint: No function matches the given name and argument types. You might need to add explicit type casts.

## Expected/Desired Behavior
Migration succeeds.


ValidationErrors validationErrors = new ValidationErrors();
        validationErrors.checkRequiredField("procedureText", statement.getProcedureText());
        if (statement.getReplaceIfExists() != null) {
            if (database instanceof MSSQLDatabase || database instanceof MySQLDatabase) {
                if (statement.getReplaceIfExists() && (statement.getProcedureName() == null)) {
                    validationErrors.addError("procedureName is required if replaceIfExists = true");
                }
            } else {
                validationErrors.checkDisallowedField("replaceIfExists", statement.getReplaceIfExists(), null);
            }
        }
        return validationErrors;
    }
    @Override
    public Sql[] generateSql(CreateProcedureStatement statement, Database database, SqlGeneratorChain sqlGeneratorChain) {
        List<Sql> sql = new ArrayList<>();
        String schemaName = statement.getSchemaName();
        if ((schemaName == null) && GlobalConfiguration.ALWAYS_OVERRIDE_STORED_LOGIC_SCHEMA.getCurrentValue()) {
            schemaName = database.getDefaultSchemaName();
        }
        String procedureText = addSchemaToText(statement.getProcedureText(), schemaName, "PROCEDURE", database);
        if ((statement.getReplaceIfExists() != null) && statement.getReplaceIfExists()) {
            if (database instanceof MSSQLDatabase) {
                String fullyQualifiedName = database.escapeObjectName(statement.getProcedureName(), StoredProcedure.class);
                if (schemaName != null) {
                    fullyQualifiedName = database.escapeObjectName(schemaName, Schema.class) + "." + fullyQualifiedName;
                }
                sql.add(new UnparsedSql("if object_id('" + fullyQualifiedName + "', 'p') is null exec ('create procedure " + fullyQualifiedName + " as select 1 a')"));
                StringClauses parsedSql = SqlParser.parse(procedureText, true, true);
                StringClauses.ClauseIterator clauseIterator = parsedSql.getClauseIterator();