public bool ExistsDatabase(IAnyDbSetting setting)
        {
            if (setting == null)
            {
                throw new ArgumentNullException(nameof(setting));
            }
            CheckDatabseProvider(setting);
            string original = setting.ConnectionString;

            try
            {
                AnyDbConnectionStringBuilder sb = new AnyDbConnectionStringBuilder(setting.ConnectionString);
                string dbName = (string)sb["Database"];
                sb["Database"]           = "postgres";
                setting.ConnectionString = sb.ToString();
                AnyDbFactory factory = new AnyDbFactory(setting);
                using (AnyDbConnection con = factory.OpenConnection())
                    using (AnyDbCommand cmd = con.CreateCommand())
                    {
                        cmd.CommandText = $"SELECT count(datname) from pg_database WHERE datname='{dbName}'";
                        return(Convert.ToInt32(cmd.ExecuteScalar()) > 0);
                    }
            }
            finally
            {
                setting.ConnectionString = original;
            }
        }
        public bool ExistsDatabase(IAnyDbSetting setting)
        {
            if (setting == null)
            {
                throw new ArgumentNullException(nameof(setting));
            }
            CheckDatabseProvider(setting);
            string original = setting.ConnectionString;

            try
            {
                AnyDbConnectionStringBuilder sb = new AnyDbConnectionStringBuilder(setting.ConnectionString);
                string dbName = (string)sb["InitialCatalog"];
                sb["InitialCatalog"]     = "master";
                setting.ConnectionString = sb.ToString();
                AnyDbFactory factory = new AnyDbFactory(setting);
                using (AnyDbConnection con = factory.OpenConnection())
                    using (AnyDbCommand cmd = con.CreateCommand())
                    {
                        cmd.CommandText = $"select isnull(DB_ID(N'{dbName}'), -1)";
                        return(Convert.ToInt32(cmd.ExecuteScalar()) > -1);
                    }
            }
            finally
            {
                setting.ConnectionString = original;
            }
        }