<rss version="2.0" xmlns:dc="http://purl.org/dc/elements/1.1/" xmlns:atom="http://www.w3.org/2005/Atom"><channel><title>Hacker News: daamien</title><link>https://news.ycombinator.com/user?id=daamien</link><description>Hacker News RSS</description><docs>https://hnrss.org/</docs><generator>hnrss v2.1.1</generator><lastBuildDate>Thu, 16 Apr 2026 03:17:58 +0000</lastBuildDate><atom:link href="https://hnrss.org/user?id=daamien" rel="self" type="application/rss+xml"></atom:link><item><title><![CDATA[The strange case of the underestimated Merge Join node]]></title><description><![CDATA[
<p>Article URL: <a href="https://blog.dalibo.com/2026/01/12/under-estimated-mergejoin.html">https://blog.dalibo.com/2026/01/12/under-estimated-mergejoin.html</a></p>
<p>Comments URL: <a href="https://news.ycombinator.com/item?id=46679737">https://news.ycombinator.com/item?id=46679737</a></p>
<p>Points: 27</p>
<p># Comments: 0</p>
]]></description><pubDate>Mon, 19 Jan 2026 15:00:07 +0000</pubDate><link>https://blog.dalibo.com/2026/01/12/under-estimated-mergejoin.html</link><dc:creator>daamien</dc:creator><comments>https://news.ycombinator.com/item?id=46679737</comments><guid isPermaLink="false">https://news.ycombinator.com/item?id=46679737</guid></item><item><title><![CDATA[New comment by daamien in "How about trailing commas in SQL?"]]></title><description><![CDATA[
<p>OP is one of 7 PostgreSQL core team members. That's kind of his job to massively overthink this :)</p>
]]></description><pubDate>Tue, 11 Feb 2025 17:13:26 +0000</pubDate><link>https://news.ycombinator.com/item?id=43015329</link><dc:creator>daamien</dc:creator><comments>https://news.ycombinator.com/item?id=43015329</comments><guid isPermaLink="false">https://news.ycombinator.com/item?id=43015329</guid></item><item><title><![CDATA[New comment by daamien in "PostgreSQL Anonymizer"]]></title><description><![CDATA[
<p>Hi !<p>I'm the main developer of this extension. Happy to answer any question you have about this project and anonymization in general!</p>
]]></description><pubDate>Sat, 18 Jan 2025 00:50:13 +0000</pubDate><link>https://news.ycombinator.com/item?id=42744770</link><dc:creator>daamien</dc:creator><comments>https://news.ycombinator.com/item?id=42744770</comments><guid isPermaLink="false">https://news.ycombinator.com/item?id=42744770</guid></item><item><title><![CDATA[New comment by daamien in "PostgreSQL Anonymizer"]]></title><description><![CDATA[
<p>Pseudonymizing functions are just one way to mask the data.<p>There are many other masking functions that will actually anonymize the data.<p>And the extension does not force you to respect the foreign keys.<p>It's really up to you to decide how you want to implement your masking policy</p>
]]></description><pubDate>Sat, 18 Jan 2025 00:48:11 +0000</pubDate><link>https://news.ycombinator.com/item?id=42744762</link><dc:creator>daamien</dc:creator><comments>https://news.ycombinator.com/item?id=42744762</comments><guid isPermaLink="false">https://news.ycombinator.com/item?id=42744762</guid></item><item><title><![CDATA[New comment by daamien in "PostgreSQL Anonymizer"]]></title><description><![CDATA[
<p>PostgreSQL Anonymizer developer here : this was possible with version 0.8 which is now completely unmaintained.
This extension is currently not available on RDS but it is available on many others DBaaS providers : Azure SQL, Google Cloud SQL, Crunchy Bridge, ....</p>
]]></description><pubDate>Sat, 18 Jan 2025 00:44:12 +0000</pubDate><link>https://news.ycombinator.com/item?id=42744745</link><dc:creator>daamien</dc:creator><comments>https://news.ycombinator.com/item?id=42744745</comments><guid isPermaLink="false">https://news.ycombinator.com/item?id=42744745</guid></item><item><title><![CDATA[New comment by daamien in "PostgreSQL Anonymizer"]]></title><description><![CDATA[
<p>Both approach are possible<p>* Static Masking will destroy the authentic data once for all<p>* Dynamic Masking will only alter the data the "masked users". Regular users will continue to view the real data.<p>Both techniques have their own advantage depending on your context.</p>
]]></description><pubDate>Sat, 18 Jan 2025 00:42:54 +0000</pubDate><link>https://news.ycombinator.com/item?id=42744737</link><dc:creator>daamien</dc:creator><comments>https://news.ycombinator.com/item?id=42744737</comments><guid isPermaLink="false">https://news.ycombinator.com/item?id=42744737</guid></item><item><title><![CDATA[New comment by daamien in "PostgreSQL Anonymizer"]]></title><description><![CDATA[
<p>This is called "Privacy By Default"<p><a href="https://postgresql-anonymizer.readthedocs.io/en/stable/privacy_by_default/" rel="nofollow">https://postgresql-anonymizer.readthedocs.io/en/stable/priva...</a></p>
]]></description><pubDate>Sat, 18 Jan 2025 00:38:51 +0000</pubDate><link>https://news.ycombinator.com/item?id=42744726</link><dc:creator>daamien</dc:creator><comments>https://news.ycombinator.com/item?id=42744726</comments><guid isPermaLink="false">https://news.ycombinator.com/item?id=42744726</guid></item><item><title><![CDATA[New comment by daamien in "PostgreSQL Anonymizer"]]></title><description><![CDATA[
<p>Of course there's no perfect solution for anonymizing a dataset...<p>The extension offers a large panel of masking functions : some are pseudonymizing functions but others are more destructive. For instance there's large collection of fake data generators ( names, address, phones, etc. )<p>It's up to the database administrator or the application developer to decide which columns need to be masked and how it should be masked.<p>In some use cases, pseudonymization is enough and others anonymization is required....</p>
]]></description><pubDate>Sat, 18 Jan 2025 00:36:27 +0000</pubDate><link>https://news.ycombinator.com/item?id=42744713</link><dc:creator>daamien</dc:creator><comments>https://news.ycombinator.com/item?id=42744713</comments><guid isPermaLink="false">https://news.ycombinator.com/item?id=42744713</guid></item><item><title><![CDATA[New comment by daamien in "PostgreSQL Anonymizer"]]></title><description><![CDATA[
<p>Version 2.0 was released a few days ago. It's a complete rewrite in Rust.<p>Performance should be better than with v1.x</p>
]]></description><pubDate>Sat, 18 Jan 2025 00:27:35 +0000</pubDate><link>https://news.ycombinator.com/item?id=42744675</link><dc:creator>daamien</dc:creator><comments>https://news.ycombinator.com/item?id=42744675</comments><guid isPermaLink="false">https://news.ycombinator.com/item?id=42744675</guid></item><item><title><![CDATA[New comment by daamien in "PostgreSQL Anonymizer"]]></title><description><![CDATA[
<p>This called "Masking Data Wrappers"<p><a href="https://postgresql-anonymizer.readthedocs.io/en/stable/masking_data_wrappers/" rel="nofollow">https://postgresql-anonymizer.readthedocs.io/en/stable/maski...</a></p>
]]></description><pubDate>Sat, 18 Jan 2025 00:26:11 +0000</pubDate><link>https://news.ycombinator.com/item?id=42744669</link><dc:creator>daamien</dc:creator><comments>https://news.ycombinator.com/item?id=42744669</comments><guid isPermaLink="false">https://news.ycombinator.com/item?id=42744669</guid></item><item><title><![CDATA[New comment by daamien in "PostgreSQL Anonymizer"]]></title><description><![CDATA[
<p>PostgreSQL Anonymizer developer here : this was possible with version 0.8 which is now completely unmaintained.<p>This extension is currently not available on RDS but it is available on many others DBaaS providers : Azure SQL, Google Cloud SQL, Crunchy Bridge, ....</p>
]]></description><pubDate>Sat, 18 Jan 2025 00:23:05 +0000</pubDate><link>https://news.ycombinator.com/item?id=42744657</link><dc:creator>daamien</dc:creator><comments>https://news.ycombinator.com/item?id=42744657</comments><guid isPermaLink="false">https://news.ycombinator.com/item?id=42744657</guid></item><item><title><![CDATA[New comment by daamien in "PostgreSQL Anonymizer"]]></title><description><![CDATA[
<p>PostgreSQL Anonymizer developer here : the problem you are describing here only affects version 1.x<p>Version 2.0 was released a few days ago with a branch new masking system that does not block database migrations.</p>
]]></description><pubDate>Sat, 18 Jan 2025 00:11:26 +0000</pubDate><link>https://news.ycombinator.com/item?id=42744586</link><dc:creator>daamien</dc:creator><comments>https://news.ycombinator.com/item?id=42744586</comments><guid isPermaLink="false">https://news.ycombinator.com/item?id=42744586</guid></item><item><title><![CDATA[New comment by daamien in "Debunking the Myth of "Anonymous" Data"]]></title><description><![CDATA[
<p>Actually the GDPR "just" requires to protect the data against "reasonably likely" attacks.<p>«
To determine whether a natural person is identifiable, account should be taken of all the means reasonably likely to be used, such as singling out, either by the controller or by another person to identify the natural person directly or indirectly.<p>To ascertain whether means are reasonably likely to be used to identify the natural person, account should be taken of all objective factors, such as the costs of and the amount of time required for identification, taking into consideration the available technology at the time of the processing and technological developments.
»<p><a href="https://www.privacy-regulation.eu/en/r26.htm" rel="nofollow noreferrer">https://www.privacy-regulation.eu/en/r26.htm</a></p>
]]></description><pubDate>Mon, 13 Nov 2023 10:58:41 +0000</pubDate><link>https://news.ycombinator.com/item?id=38248939</link><dc:creator>daamien</dc:creator><comments>https://news.ycombinator.com/item?id=38248939</comments><guid isPermaLink="false">https://news.ycombinator.com/item?id=38248939</guid></item><item><title><![CDATA[Pipeline Mode in Psycopg]]></title><description><![CDATA[
<p>Article URL: <a href="https://blog.dalibo.com/2022/06/01/psycopg-row-factories.html">https://blog.dalibo.com/2022/06/01/psycopg-row-factories.html</a></p>
<p>Comments URL: <a href="https://news.ycombinator.com/item?id=32900147">https://news.ycombinator.com/item?id=32900147</a></p>
<p>Points: 1</p>
<p># Comments: 0</p>
]]></description><pubDate>Mon, 19 Sep 2022 16:03:22 +0000</pubDate><link>https://blog.dalibo.com/2022/06/01/psycopg-row-factories.html</link><dc:creator>daamien</dc:creator><comments>https://news.ycombinator.com/item?id=32900147</comments><guid isPermaLink="false">https://news.ycombinator.com/item?id=32900147</guid></item><item><title><![CDATA[How Psycopg row factories help you write safer applications]]></title><description><![CDATA[
<p>Article URL: <a href="https://blog.dalibo.com/2022/06/01/psycopg-row-factories.html">https://blog.dalibo.com/2022/06/01/psycopg-row-factories.html</a></p>
<p>Comments URL: <a href="https://news.ycombinator.com/item?id=31596300">https://news.ycombinator.com/item?id=31596300</a></p>
<p>Points: 6</p>
<p># Comments: 0</p>
]]></description><pubDate>Thu, 02 Jun 2022 15:44:59 +0000</pubDate><link>https://blog.dalibo.com/2022/06/01/psycopg-row-factories.html</link><dc:creator>daamien</dc:creator><comments>https://news.ycombinator.com/item?id=31596300</comments><guid isPermaLink="false">https://news.ycombinator.com/item?id=31596300</guid></item><item><title><![CDATA[New comment by daamien in "Show HN: pg_flame – flamegraph visualizations of PostgreSQL query plans"]]></title><description><![CDATA[
<p>See PEV2 : <a href="https://github.com/dalibo/pev2" rel="nofollow">https://github.com/dalibo/pev2</a></p>
]]></description><pubDate>Mon, 28 Oct 2019 13:44:26 +0000</pubDate><link>https://news.ycombinator.com/item?id=21376895</link><dc:creator>daamien</dc:creator><comments>https://news.ycombinator.com/item?id=21376895</comments><guid isPermaLink="false">https://news.ycombinator.com/item?id=21376895</guid></item><item><title><![CDATA[New comment by daamien in "The dangers of streaming across versions of glibc: A cautionary tale (2014)"]]></title><description><![CDATA[
<p>This is still an issue :<p><a href="https://postgresql.verite.pro/blog/2018/08/27/glibc-upgrade.html" rel="nofollow">https://postgresql.verite.pro/blog/2018/08/27/glibc-upgrade....</a></p>
]]></description><pubDate>Tue, 08 Jan 2019 14:54:07 +0000</pubDate><link>https://news.ycombinator.com/item?id=18855837</link><dc:creator>daamien</dc:creator><comments>https://news.ycombinator.com/item?id=18855837</comments><guid isPermaLink="false">https://news.ycombinator.com/item?id=18855837</guid></item><item><title><![CDATA[New comment by daamien in "TextQL: Execute SQL Against CSV or TSV"]]></title><description><![CDATA[
<p>... and with dozens of other data sources:<p><a href="https://wiki.postgresql.org/wiki/Foreign_data_wrappers" rel="nofollow">https://wiki.postgresql.org/wiki/Foreign_data_wrappers</a></p>
]]></description><pubDate>Sat, 07 Apr 2018 17:21:21 +0000</pubDate><link>https://news.ycombinator.com/item?id=16781662</link><dc:creator>daamien</dc:creator><comments>https://news.ycombinator.com/item?id=16781662</comments><guid isPermaLink="false">https://news.ycombinator.com/item?id=16781662</guid></item><item><title><![CDATA[New comment by daamien in "TextQL: Execute SQL Against CSV or TSV"]]></title><description><![CDATA[
<p>PostgreSQL does this out of the box with :<p><pre><code>  CREATE EXTENSION file_fdw;
  CREATE SERVER import FOREIGN DATA WRAPPER file_fdw;
  CREATE FOREIGN TABLE foo (
    col1 text,
    col2 text,
    ...
  ) SERVER import 
  OPTIONS ( filename '/path/to/foo.csv', format 'csv' );
  SELECT col1 FROM foo WHERE col2='x';</code></pre></p>
]]></description><pubDate>Sat, 07 Apr 2018 17:13:40 +0000</pubDate><link>https://news.ycombinator.com/item?id=16781623</link><dc:creator>daamien</dc:creator><comments>https://news.ycombinator.com/item?id=16781623</comments><guid isPermaLink="false">https://news.ycombinator.com/item?id=16781623</guid></item><item><title><![CDATA[Again Riddle]]></title><description><![CDATA[
<p>Article URL: <a href="http://riddle.link/">http://riddle.link/</a></p>
<p>Comments URL: <a href="https://news.ycombinator.com/item?id=14289709">https://news.ycombinator.com/item?id=14289709</a></p>
<p>Points: 1</p>
<p># Comments: 0</p>
]]></description><pubDate>Mon, 08 May 2017 06:42:17 +0000</pubDate><link>http://riddle.link/</link><dc:creator>daamien</dc:creator><comments>https://news.ycombinator.com/item?id=14289709</comments><guid isPermaLink="false">https://news.ycombinator.com/item?id=14289709</guid></item></channel></rss>