I see what you're saying: pg=# select tablename from pg_tables where tablename like 'tmp_staging%' and tablename < 'tmp_staging1230' and tablename > 'tmp_staging1228'; tablename -------------------- tmp_staging1229
This query is part of a larger script where I want to dynamically select tablenames older than 10 days and drop them. The tables are created in a tmp_stagingMMDD format. I know postgres does not maintain object create times, how can I write this to select tables from pg_tables that are older than 10 days? Thanks. Tony On Mon, 2012-01-09 at 08:19 -0800, Adrian Klaver wrote: > On Monday, January 09, 2012 8:12:18 am Tony Capobianco wrote: > > I have these 3 tables: > > > > tablename > > -------------------- > > tmp_staging0109 > > tmp_staging1229 > > tmp_staging0108 > > > > > > I'd like this query: > > > > select tablename from pg_tables where tablename like 'tmp_staging%' and > > tablename < 'tmp_staging1230'; > > > > To return this result: > > > > tablename > > -------------------- > > tmp_staging1229 > > > > However, I'm receiving: > > > > tablename > > -------------------- > > tmp_staging0109 > > tmp_staging1229 > > tmp_staging0108 > > > > How can I write this correctly? > > As far as I can tell it is correct. 0108,0109 and 1229 are all less than > 1230. > What happens if you do?: > > select tablename from pg_tables where tablename like 'tmp_staging%' and > tablename < 'tmp_staging1230' and tablename > 'tmp_staging1228; > > > > > Thanks. > > Tony > -- Sent via pgsql-sql mailing list (pgsql-sql@postgresql.org) To make changes to your subscription: http://www.postgresql.org/mailpref/pgsql-sql