Re:What I Wish Someone Told Me About Postgres
by emmanuel_1234 on Tuesday November 12, 2024 @10:23AM
(#42116177)
Any recommendation for a prettifier / SQL linter?
[ Parent
| on HN ]
Re:What I Wish Someone Told Me About Postgres
by gnulinux on Tuesday November 12, 2024 @10:49AM
(#42116479)
I'm curious about this for DuckDB [1]. In the last couple months or so I've been using DuckDB as a one-step solution to all problems I solve. In fact my development environment rarely requires anything other than Python and DuckDB (and some Rust if native code is necessary). DuckDB is an insanely fast and featureful analytic db. It'd be nice to have a linter, formatter etc specifically for DuckDB.
There is sqlfluff etc but I'm curious what people use.
[1] DuckDB SQL dialect is very close to Postgres, it's compatible in many ways but has some extra QOL features related to analytics, and lacks a few features like `vacuum full`;
Re:What I Wish Someone Told Me About Postgres
by ptman on Tuesday November 12, 2024 @03:14PM
(#42119226)
sqlfluff is better than https://github.com/darold/pgFormatter , but it can get confused at times.
Re:What I Wish Someone Told Me About Postgres
by chrisjc on Friday November 15, 2024 @11:01AM
(#42148078)
Since you're using python, have you looked into sqlglot? I think it has some pretty-print options.
Re:What I Wish Someone Told Me About Postgres
by homebrewer on Tuesday November 12, 2024 @02:10PM
(#42118579)
IDEA if you want to use it for other things (or any other JetBrains IDE). Nothing comes close feature-wise.
If you don't:
- https://www.depesz.com/2022/09/21/prettify-sql-queries-from-...
- https://gitlab.com/depesz/pg-sql-prettyprinter
Or https://paste.depesz.com for one-off use.
Re:What I Wish Someone Told Me About Postgres
by jillyboel on Tuesday November 12, 2024 @02:41PM
(#42118888)
i think the idea sql prettifier is pretty silly sometimes. it really likes indenting stuff to make sure things are aligned, which often results in dozens of whitespaces
Re:What I Wish Someone Told Me About Postgres
by homebrewer on Tuesday November 12, 2024 @05:51PM
(#42120714)
It makes it easy to distinguish null vs not null columns and other similar things, so I personally don't mind.
Re:What I Wish Someone Told Me About Postgres
by jillyboel on Tuesday November 12, 2024 @06:40PM
(#42121237)
It's more about queries like (dummy example)
RETURN CASE
WHEN a = 1 THEN 1
ELSE 2
END;
where it insists on aligning WHEN past CASE. I think it would be perfectly reasonable to indent WHEN and ELSE 4 spaces less, for example. Similar things happen with nested conditions like (a or (b and c)) all getting pushed to the right
Re:What I Wish Someone Told Me About Postgres
by NegativeLatency on Wednesday November 13, 2024 @01:00AM
(#42123323)
prettier plugin sql, or pg_format
Re:What I Wish Someone Told Me About Postgres
by mustime on Wednesday November 13, 2024 @05:06AM
(#42124658)
If you're interested in streamlining your SQL queries, you might also want to check out https://ai2sql.io/ . It uses AI to generate optimized SQL queries quickly and could be a useful addition to your workflow.