Features
PostgreSQL has most features present in large commercial
- DBMS's, like transactions, subselects, triggers, views, and
- sophisticated locking. We have some features they don't have,
- like user-defined types, inheritance, rules, and multi-version
- concurrency control to reduce lock contention. We don't have
- foreign key referential integrity or outer joins, but are
+ DBMS's, like transactions, subselects, triggers, views, foreign
+ key referential integrity, and sophisticated locking. We have
+ some features they don't have, like user-defined types,
+ inheritance, rules, and multi-version concurrency control to
+ reduce lock contention. We don't have outer joins, but are
working on them for our next release.
Performance
2.1) Are there ODBC drivers for PostgreSQL?
- There are two ODBC drivers available, PostODBC and OpenLink ODBC.
+ There are two ODBC drivers available, PsqlODBC and OpenLink ODBC.
- PostODBC is included in the distribution. More information about it
- can be gotten from: http://www.insightdist.com/psqlodbc
+ PsqlODBC is included in the distribution. More information about it
+ can be gotten from: ftp://ftp.postgresql.org/pub/odbc/index.html
OpenLink ODBC can be gotten from http://www.openlinksw.com. It works
with their standard ODBC client software so you'll have PostgreSQL
commercial-quality support, but a freeware version will always be
available. Questions to postgres95@openlink.co.uk.
+ See also the ODBC chapter of the Programmer's Guide.
+
2.2) What tools are available for hooking PostgreSQL to Web pages?
A nice introduction to Database-backed Web pages can be seen at:
4.22) How do I create a column that will default to the current time?
- This way always works:
+ Use now():
CREATE TABLE test (x int, modtime timestamp default now() );
- In releases 7.0 and later, you may use:
- create table test (x int, modtime timestamp default 'now');
-
4.23) Why are my subqueries using IN so slow?
Currently, we join subqueries to outer queries by sequential scanning
<DD>
PostgreSQL has most features present in large commercial DBMS's, like
-transactions, subselects, triggers, views, and sophisticated locking.
-We have some features they don't have, like user-defined types,
-inheritance, rules, and multi-version concurrency control to reduce lock
-contention. We don't have foreign key referential integrity or outer
+transactions, subselects, triggers, views, foreign key referential
+integrity, and sophisticated locking. We have some features they don't
+have, like user-defined types, inheritance, rules, and multi-version
+concurrency control to reduce lock contention. We don't have outer
joins, but are working on them for our next release.<BR><BR>
<DT> <B>Performance</B>
<H4><A NAME="2.1">2.1</A>) Are there ODBC drivers for PostgreSQL?</H4><P>
-There are two ODBC drivers available, PostODBC and OpenLink ODBC.<P>
+There are two ODBC drivers available, PsqlODBC and OpenLink ODBC.<P>
-PostODBC is included in the distribution. More information about it can
-be gotten from: <A HREF="http://www.insightdist.com/psqlodbc">
-http://www.insightdist.com/psqlodbc</A><P>
+PsqlODBC is included in the distribution. More information about it can
+be gotten from: <A HREF="ftp://ftp.postgresql.org/pub/odbc/index.html">
+ftp://ftp.postgresql.org/pub/odbc/index.html</A><P>
OpenLink ODBC can be gotten from <A HREF="http://www.openlinksw.com/">
http://www.openlinksw.com</A>. It works with their standard ODBC client
available. Questions to <A
HREF="mailto:postgres95@openlink.co.uk">postgres95@openlink.co.uk</A>.<P>
+See also the <A HREF="http://www.postgresql.org/docs/programmer/odbc.htm">
+ODBC chapter of the Programmer's Guide</A>.<P>
<H4><A NAME="2.2">2.2</A>) What tools are available for hooking
option or <SMALL>COPY WITH OIDS</SMALL> option to preserve the oids.<P>
For more details, see Bruce Momjian's chapter on
-<A HREF="http://www.postgresql.org/docs/aw_pgsql_book/node74.html">Numbering Rows.</A>
+<A HREF="http://www.postgresql.org/docs/aw_pgsql_book">Numbering Rows.</A>
<H4><A NAME="4.16.2">4.16.2</A>) How do I get the back the generated SERIAL value after an insert?</H4><P>
Probably the simplest approach is to to retrieve the next SERIAL value from the sequence object with the <I>nextval()</I> function <I>before</I> inserting and then insert it explicitly. Using the example table in <A HREF="#4.16.1">4.16.1</A>, that might look like this: