Postgres Source Code

PostgreSQL
Prev |  | Next

# Chapter 60. Postgres Source Code

# Formatting

Source code formatting uses a 4 column tab spacing, currently with tabs preserved (i.e. tabs are not expanded to spaces).

For emacs, add the following (or something similar) to your `~/.emacs` initialization file:

    ;; check for files with a path containing "postgres" or "pgsql"
    (setq auto-mode-alist (cons '("\\(postgres\\|pgsql\\).*\\.[ch]\\'" . pgsql-c-mode) auto-mode-alist))
    (setq auto-mode-alist (cons '("\\(postgres\\|pgsql\\).*\\.cc\\'" . pgsql-c-mode) auto-mode-alist))

    (defun pgsql-c-mode ()
      ;; sets up formatting for Postgres C code
      (interactive)
      (c-mode)
      (setq-default tab-width 4)
      (c-set-style "bsd")             ; set c-basic-offset to 4, plus other stuff
      (c-set-offset 'case-label '+)   ; tweak case indent to match PG custom
      (setq indent-tabs-mode t))      ; make sure we keep tabs when indenting

For vi, your `~/.vimrc` or equivalent file should contain the following:

    set tabstop=4

or equivalently from within vi, try

    :set ts=4

The text browsing tools more and less can be invoked as

    more -x4
    less -x4

Prev | Home | Next
Developer's Guide | Up | Overview of PostgreSQL Internals