def METHOD_NAME(self, node: SqlPercentileExpression) -> SqlExpressionRenderResult:
    """Render a percentile expression for Postgres."""
    arg_rendered = self.render_sql_expr(node.order_by_arg)
    params = arg_rendered.bind_parameters
    percentile = node.percentile_args.percentile
    if node.percentile_args.function_type is SqlPercentileFunctionType.CONTINUOUS:
        function_str = "PERCENTILE_CONT"
    elif node.percentile_args.function_type is SqlPercentileFunctionType.DISCRETE:
        function_str = "PERCENTILE_DISC"
    elif node.percentile_args.function_type is SqlPercentileFunctionType.APPROXIMATE_CONTINUOUS:
        raise UnsupportedEngineFeatureError(
            "Approximate continuous percentile aggregate not supported for Postgres. Set "
            + "use_approximate_percentile to false in all percentile measures."
        )
    elif node.percentile_args.function_type is SqlPercentileFunctionType.APPROXIMATE_DISCRETE:
        raise UnsupportedEngineFeatureError(
            "Approximate discrete percentile aggregate not supported for Postgres. Set "
            + "use_approximate_percentile to false in all percentile measures."
        )
    else:
        assert_values_exhausted(node.percentile_args.function_type)
    return SqlExpressionRenderResult(
        sql=f"{function_str}({percentile}) WITHIN GROUP (ORDER BY ({arg_rendered.sql}))",
        bind_parameters=params,
    )