Developer's Frequently Asked Questions (FAQ) for PostgreSQL
- Last updated: Sat Jul 10 00:38:09 EDT 1999
+ Last updated: Tue Dec 21 12:30:20 EST 1999
- Current maintainer: Bruce Momjian (maillist@candle.pha.pa.us)
+ Current maintainer: Bruce Momjian (pgman@candle.pha.pa.us)
The most recent version of this document can be viewed at the
postgreSQL Web site, http://PostgreSQL.org.
make_mkid make mkid ID files
mkldexport create AIX exports file
pgindent indents C source files
+ pginclude scripts for adding/removing include files
+ unused_oids in pgsql/src/include/catalog
Let me note some of these. If you point your browser at the
file:/usr/local/src/pgsql/src/tools/backend/index.html directory, you
make_diff has tools to create patch diff files that can be applied to
the distribution.
- pgindent will format source files to match our standard format, which
- has four-space tabs, and an indenting format specified by flags to the
- your operating system's utility indent.
+ Our standard format is to indent each code level with one tab, where
+ each tab is four spaces. You will need to set your editor to display
+ tabs as four spaces:
+ vi in ~/.exrc:
+ set tabstop=4
+ set sw=4
+ more:
+ more -x4
+ less:
+ less -x4
+ emacs:
+ M-x set-variable tab-width
+ or
+ ; Cmd to set tab stops &etc for working with PostgreSQL code
+ (defun pgsql-mode ()
+ "Set PostgreSQL C indenting conventions in current buffer."
+ (interactive)
+ (c-mode) ; necessary to make c-set
+-offset local!
+ (setq tab-width 4) ; already buffer-local
+ ; (setq comment-column 48) ; already buffer-local
+ (c-set-style "bsd")
+ (c-set-offset 'case-label '+)
+ )
+ or
+ /*
+ * Local variables:
+ * tab-width: 4
+ * c-indent-level: 4
+ * c-basic-offset: 4
+ * End:
+ */
+
+ pgindent will the format code by specifying flags to your operating
+ system's utility indent.
pgindent is run on all source files just before each beta test period.
It auto-formats all source files to make them consistent. Comment
blocks that need specific line breaks should be formatted as block
comments, where the comment starts as /*------. These comments will
- not be reformatted in any way.
+ not be reformatted in any way. pginclude contains scripts used to add
+ needed #include's to include files, and removed unneeded #include's.
+ When adding system types, you will need to assign oids to them. There
+ is also a script called unused_oids in pgsql/src/include/catalog that
+ shows the unused oids.
2) What books are good for developers?
Then, check src/include/port and add your new OS file, with
appropriate values. Hopefully, there is already locking code in
- src/include/storage/s_lock.h for your CPU. There is a backend/port
- directory if you need special files for your OS.
+ src/include/storage/s_lock.h for your CPU. There is also a
+ src/makefiles directory for port-specific Makefile handling. There is
+ a backend/port directory if you need special files for your OS.