diff --git a/Src/Asp.NetCore2/SqlSugar/Realization/PostgreSQL/DbMaintenance/PostgreSQLDbMaintenance.cs b/Src/Asp.NetCore2/SqlSugar/Realization/PostgreSQL/DbMaintenance/PostgreSQLDbMaintenance.cs index 4b57a7f27..deb862a3c 100644 --- a/Src/Asp.NetCore2/SqlSugar/Realization/PostgreSQL/DbMaintenance/PostgreSQLDbMaintenance.cs +++ b/Src/Asp.NetCore2/SqlSugar/Realization/PostgreSQL/DbMaintenance/PostgreSQLDbMaintenance.cs @@ -250,6 +250,24 @@ namespace SqlSugar #endregion #region Methods + public override bool IsAnyTable(string tableName, bool isCache = true) + { + if (isCache == false) + { + var sql = @"select 1 from pg_class c + inner join + pg_namespace n on n.oid = c.relnamespace and nspname='"+GetSchema()+@"' + inner join + pg_tables z on z.tablename=c.relname and Lower(z.tablename)='" + tableName.ToLower()+@"' + where relkind in('p', 'r') and relname not like 'pg\_%' and relname not like 'sql\_%' and schemaname='public' order by relname"; + var isAny=this.Context.Ado.GetDataTable(sql).Rows.Count>0; + return isAny; + } + else + { + return base.IsAnyTable(tableName, isCache); + } + } public override List GetDbTypes() { var result = this.Context.Ado.SqlQuery(@"SELECT DISTINCT data_type