[{"data":1,"prerenderedAt":312},["ShallowReactive",2],{"project-47011567":3},{"id":4,"name":5,"line":6,"line_source":7,"title":8,"url":9,"domain":10,"maker":11,"posted_at":12,"year":13,"points":14,"comments":15,"rank_in_year":16,"shown_in_year":17,"top":18,"tier":19,"category":20,"subcategory":21,"format":22,"keywords":23,"reception":28,"sentiment":29,"stance_mix":30,"scored_comments":35,"aspects":36,"strip":44,"post_text":45,"what":46,"said":56,"maker_in_thread":148,"shape":150,"grid":154,"attempts":273,"same_week":274,"maker_shows":42,"maker_hidden":304,"reader_version":305,"card":306},"47011567","SQL-tap","Real-time SQL traffic viewer for PostgreSQL and MySQL","title","Show HN: SQL-tap – Real-time SQL traffic viewer for PostgreSQL and MySQL","https:\u002F\u002Fgithub.com\u002Fmickamy\u002Fsql-tap","github.com","mickamy",1771043255,2026,233,44,219,4366,6,"notable","dev_tools","database query debugging","cli",[24,25,26,27],"sql query viewer","postgresql proxy","mysql traffic","query profiling","mixed",0.167,{"positive":31,"neutral":32,"mixed":33,"critical":34},9,10,0,5,24,{"execution":37,"idea":39,"performance":41,"design":43},{"positive":38,"critical":33},2,{"positive":40,"critical":38},3,{"positive":42,"critical":38},1,{"positive":33,"critical":42},[34,40,34,40,33,40,40,42,42,33,33,34,33,33,33,33,33,33,33,33,33,33,42,33,33,34,40,40,42,42,33,33,33,34,40,34,34,34,34,40],"sql-tap is a transparent proxy that captures SQL queries by parsing the PostgreSQL\u002FMySQL wire protocol and displays them in a terminal UI. You can run EXPLAIN on any captured query. No application code changes needed — just change the port.",{"problem":47,"audience":53,"pricing":53,"motivation":53,"time_to_build":53,"stack":54,"openness":55,"stage":55,"team_size":55},{"value":48,"source":49,"evidence":50},"Seeing which SQL queries an application runs against PostgreSQL or MySQL","maker",[51],{"id":52},"post",null,[],"unknown",{"praise":57,"objections":74,"requests":90,"questions":99,"alternatives":117},[58],{"value":59,"source":60,"evidence":61},"Easy drop-in proxy that works smoothly","commenter",[62,66,70],{"id":63,"by":64,"text":65},"47012705","qxxx","Just tried it out. Works fine. Love it! I tried it with a wordpress site. It is showing hundreds of sql queries in one request (thats probably why that wordpress site is so slow…",{"id":67,"by":68,"text":69},"47011832","nwellinghoff","Nice. I like how you made it an easy to drop in proxy. Will definitely use this when debugging issues!",{"id":71,"by":72,"text":73},"47012139","buremba","This is very neat! IMO inspecting the queries the agents run on the database is a better approach to understand how the code works, even more than reviewing the code. I just…",[75],{"value":76,"source":60,"evidence":77},"Proxy adds latency and is a worse approach than passive capture or logging",[78,82,86],{"id":79,"by":80,"text":81},"47012622","camel_gopher","Why do you need a proxy? Pull the queries off the network. You’re adding latency to every query! https:\u002F\u002Fgithub.com\u002Fcirconus-labs\u002Fwirelatency",{"id":83,"by":84,"text":85},"47013968","ahachete","IMO transparent proxies for observability are not the best pattern. And I speak from experience, we developed the Postgres plugin for Envoy [1], [2] and we use it in StackGres…",{"id":87,"by":88,"text":89},"47013623","stephenr","I prefer to just turn on query logging in the db server. I don't understand why you would use anything else.",[91,95],{"value":92,"source":60,"evidence":93},"Sorting and search\u002Ffilter of queries, such as by execution time",[94],{"id":63,"by":64,"text":65},{"value":96,"source":60,"evidence":97},"Show how often the same query runs",[98],{"id":63,"by":64,"text":65},[100,110],{"value":101,"source":60,"evidence":102},"Why use this instead of enabling MySQL general log or Postgres log_statement",[103,106],{"id":104,"by":88,"text":105},"47012439","Can you explain how this is a better option than just enabling the general log for MySQL as needed?",{"id":107,"by":108,"text":109},"47012620","ahoka","Or log_statement = 'all' in Postgres.",{"value":111,"source":60,"evidence":112},"What are the latency implications of the proxy",[113],{"id":114,"by":115,"text":116},"47016984","hankchinaski","what are the latency implications of going through this proxy? looks good",[118,128,133,141],{"value":119,"source":60,"evidence":120},"eBPF-based query capture",[121,125],{"id":122,"by":123,"text":124},"47012865","ranger_danger","I prefer to use eBPF; no additional software, proxy or configuration needed. https:\u002F\u002Feunomia.dev\u002Ftutorials\u002F40-mysql\u002F",{"id":126,"by":123,"text":127},"47012861","eBPF will: https:\u002F\u002Feunomia.dev\u002Ftutorials\u002F40-mysql\u002F",{"value":129,"source":60,"evidence":130},"Database query logging",[131,132],{"id":104,"by":88,"text":105},{"id":107,"by":108,"text":109},{"value":134,"source":60,"evidence":135},"Envoy proxy filters for MySQL and Postgres",[136,140],{"id":137,"by":138,"text":139},"47014614","phrotoma","https:\u002F\u002Fwww.envoyproxy.io\u002Fdocs\u002Fenvoy\u002Flatest\u002Fconfiguration\u002Flisteners\u002Fnetwork_filters\u002Fmysql_proxy_filter…",{"id":83,"by":84,"text":85},{"value":142,"source":60,"evidence":143},"sqltap",[144],{"id":145,"by":146,"text":147},"47015355","odiroot","Not to be confused with sqltap which is also great for debugging queries: https:\u002F\u002Fgithub.com\u002Finconshreveable\u002Fsqltap",{"comments":33,"answered":33,"key":149},[],{"commenters":151,"max_depth":152,"maker_replies":33,"first_comment_mins":153,"lifespan_hours":153},30,8,52,[155,157,159,161,162,166,167,170,174,177,180,181,185,189,192,194,197,199,202,204,207,209,211,213,215,216,219,221,224,226,231,235,239,240,241,243,245,248,253,258,260,264,268,271],[63,33,34,156,64,33],"project\u002Fpositive\u002Fexecution",[137,42,40,158,138,33],"project\u002Fneutral\u002Fidea",[71,38,34,160,72,33],"project\u002Fpositive\u002Fidea",[104,40,40,158,88,33],[163,40,33,164,165,33],"47012541","commenter\u002Fneutral\u002Fnone","anonymous344",[107,40,40,158,108,33],[168,40,40,158,169,33],"47014353","luckylion",[171,40,42,172,173,33],"47015826","project\u002Fcritical\u002Fidea","kopirgan",[79,175,42,176,80,33],4,"project\u002Fcritical\u002Fperformance",[178,175,33,164,179,33],"47012728","nimrody",[126,175,33,164,123,33],[182,175,33,183,184,33],"47013314","commenter\u002Fneutral\u002Fperformance","tudorg",[186,175,34,187,188,33],"47013172","project\u002Fpositive\u002Fperformance","Sentinel-gate",[190,175,33,164,191,33],"47013454","PunchyHamster",[193,175,33,164,188,33],"47016541",[195,175,33,164,196,33],"47013562","debarshri",[198,175,33,164,188,33],"47016558",[200,175,33,164,201,33],"47014807","singpolyma3",[203,175,33,164,188,33],"47016500",[205,175,33,164,206,33],"47016816","freedomben",[208,175,33,164,201,33],"47019734",[210,175,33,164,188,33],"47021993",[212,175,33,164,201,33],"47029437",[214,175,33,164,188,33],"47032372",[83,34,42,176,84,33],[217,34,33,218,184,33],"47014070","commenter\u002Fneutral\u002Fidea",[220,34,33,218,84,33],"47018033",[222,34,34,160,223,33],"47014283","Quarrel",[225,18,40,158,196,33],"47012277",[227,228,40,229,230,33],"47015197",7,"project\u002Fneutral\u002Fdesign","DavidKarlas",[232,228,42,233,234,33],"47017921","project\u002Fcritical\u002Fdesign","nullsanity",[236,152,40,237,238,33],"47012600","maker\u002Fneutral\u002Fnone","sneak",[122,31,42,172,123,33],[87,31,33,164,88,33],[242,31,33,164,123,33],"47017679",[244,31,33,164,88,33],"47017852",[246,32,34,160,247,33],"47016894","lasgawe",[249,250,40,251,252,33],"47012548",11,"project\u002Fneutral\u002Fnone","Spixel_",[254,255,34,256,257,33],"47012429",12,"project\u002Fpositive\u002Fnone","altmanaltman",[67,259,34,156,68,33],13,[261,262,34,256,263,33],"47012346",14,"CodeWriter23",[265,266,34,256,267,33],"47011971",15,"jauntywundrkind",[114,269,40,270,115,33],16,"project\u002Fneutral\u002Fperformance",[145,272,40,251,146,33],17,[],[275,280,285,290,295,299],{"id":276,"name":277,"points":278,"category":279},"47031334","Jemini",488,"ai",{"id":281,"name":282,"points":283,"category":284},"47051852","AsteroidOS 2.0",470,"hardware",{"id":286,"name":287,"points":288,"category":289},"47026186","Microgpt",282,"learning_science",{"id":291,"name":292,"points":293,"category":294},"47040375","FreeFlow",277,"productivity",{"id":296,"name":297,"points":298,"category":289},"47008163","Data Engineering Book",251,{"id":300,"name":301,"points":302,"category":303},"47014500","Sameshi",230,"games",false,"v2",{"id":307,"name":5,"line":6,"ai":304,"cat":20,"year":13,"points":14,"comments":15,"rec":28,"s":308,"top":18,"kw":309,"maker":11,"domain":10,"tier":19,"attempts":33,"strip":310,"url":9,"mix":311,"praise":59,"objection":76,"sub":21},47011567,0.17,[24,25,26,27],"5353033110050000000000100533110005355553",[31,32,33,34],1794036693219]