SQL and PL/pgSQL Programming Style Guide
Aus Geoinformation HSR
SQL and general
- File names in lowercase_with_underscores, encoding UTF-8
- Use Free Online version of the PostgreSQL SQL syntax beautifier pgFormatter
- Indent with 4 spaces (don't use tags)
- IMPORTANT: Put keywords, datatypes and functions all-lowercase - opposite e.g. to Joe Celko’s - because they are _not_ the main content!
- Else follow Sqlstyle.guide which is compatible with Joe Celko’s SQL Programming Style book
PL/pgSQL
- Same as above plus (inspired partially by PEP 8):
- Naming conventions:
- Function names in lowercase_with_underscores (handle ST_-functions insensitive).
- Function parameter names in lowercase_with_underscores
- Local variables and functions start with _underscore
- All-uppercase for CONSTANT_VARIABLES
- Whitespace and newlines:
- Two blank lines before top-level functions
- Use blank lines sparingly
- Spaces around = for assignment and in mathematical operators
- No spaces around = for default parameter values
- Multiple statements on the same line are discouraged
- Comments:
- Use inline comments sparingly & avoid obvious comments
- Write in whole sentence and in plain and easy-to-follow English
- Add space after line comment (- a comment); no space for commented-out code (-raise notice)
- Keep comments up to date - incorrect comments are worse than no comments
- All "public" functions should have docstrings (""")
- In docstrings, list each argument on a separate line
- Docstrings should have a blank line after first line and before the final """