Update FAQ.
This commit is contained in:
parent
caa9468110
commit
7d7adf24e7
288
doc/FAQ
288
doc/FAQ
@ -1,7 +1,7 @@
|
||||
|
||||
Frequently Asked Questions (FAQ) for PostgreSQL
|
||||
|
||||
Last updated: Wed Apr 15 12:47:01 EDT 1998
|
||||
Last updated: Sun Aug 30 00:01:22 EDT 1998
|
||||
|
||||
Current maintainer: Bruce Momjian (maillist@candle.pha.pa.us)
|
||||
|
||||
@ -53,47 +53,49 @@ Questions answered:
|
||||
2.7) I have changed a source file, but a recompile does not see the
|
||||
change?
|
||||
2.8) How do I prevent other hosts from accessing my PostgreSQL
|
||||
database?
|
||||
2.9) I can't access the database as the 'root' user.
|
||||
2.10) All my servers crash under concurrent table access. Why?
|
||||
2.11) How do I tune the database engine for better performance?
|
||||
2.12) What debugging features are available in PostgreSQL?
|
||||
2.13) How do I enable more than 32 concurrent backends? 2.14) What
|
||||
2.13) How do I enable more than 64 concurrent backends? 2.14) What
|
||||
non-unix ports are available?
|
||||
|
||||
3) Operational questions
|
||||
|
||||
3.1) Does PostgreSQL support nested subqueries?
|
||||
3.2) I've having a lot of problems using rules.
|
||||
3.3) I can't seem to write into the middle of large objects reliably.
|
||||
3.4) How can I write client applications to PostgreSQL?
|
||||
3.5) How do I set up a pg_group?
|
||||
3.6) What is the exact difference between binary cursors and normal
|
||||
3.2) How can I write client applications to PostgreSQL?
|
||||
3.3) How do I set up a pg_group?
|
||||
3.4) What is the exact difference between binary cursors and normal
|
||||
cursors?
|
||||
3.7) What is a R-tree index and what is it used for?
|
||||
3.8) What is the maximum size for a tuple?
|
||||
3.9) I defined indices but my queries don't seem to make use of them.
|
||||
3.5) What is an R-tree index and what is it used for?
|
||||
3.6) What is the maximum size for a tuple?
|
||||
3.7) I defined indices but my queries don't seem to make use of them.
|
||||
Why?
|
||||
3.10) How do I do regular expression searches? case-insensitive regexp
|
||||
3.8) How do I do regular expression searches? case-insensitive regexp
|
||||
searching?
|
||||
3.11) I experienced a server crash during a vacuum. How do I remove
|
||||
the lock file?
|
||||
3.12) What is the difference between the various character types?
|
||||
3.13) In a query, how do I detect if a field is NULL?
|
||||
3.14) How do I see how the query optimizer is evaluating my query?
|
||||
3.15) How do I create a serial field?
|
||||
3.16) What are the pg_psort.XXX files in my database directory?
|
||||
3.17) Why can't I connect to my database from another machine?
|
||||
3.18) How do I find out what indexes or operations are defined in the
|
||||
3.9) I experienced a server crash during a vacuum. How do I remove the
|
||||
lock file?
|
||||
3.10) What is the difference between the various character types?
|
||||
3.11) In a query, how do I detect if a field is NULL?
|
||||
3.12) How do I see how the query optimizer is evaluating my query?
|
||||
3.13) How do I create a serial/auto-incrementing field?
|
||||
3.14) What are the pg_psort.XXX files in my database directory?
|
||||
3.15) Why can't I connect to my database from another machine?
|
||||
3.16) How do I find out what indexes or operations are defined in the
|
||||
database?
|
||||
3.19) What is the time-warp feature and how does it relate to vacuum?
|
||||
3.20) What is an oid? What is a tid?
|
||||
3.21) What is the meaning of some of the terms used in PostgreSQL?
|
||||
3.22) What is Genetic Query Optimization?
|
||||
3.23) How do you remove a column from a table?
|
||||
3.24) How do SELECT only the first few rows of a query?
|
||||
3.25) Why can't I create a column named "time"?
|
||||
3.26) How much database disk space is required to store data from a
|
||||
3.17) What is an oid? What is a tid?
|
||||
3.18) What is the meaning of some of the terms used in PostgreSQL?
|
||||
3.19) What is Genetic Query Optimization?
|
||||
3.20) How do you remove a column from a table?
|
||||
3.21) How do SELECT only the first few rows of a query?
|
||||
3.22) How much database disk space is required to store data from a
|
||||
typical flat file?
|
||||
3.23) How do I get a list of tables, or other things I can see in
|
||||
psql?
|
||||
3.24) Why do I get the error "FATAL: palloc failure: memory
|
||||
exhausted?"
|
||||
3.25) How do I tell what PostgreSQL version I am running?
|
||||
|
||||
4) Questions about extending PostgreSQL
|
||||
|
||||
@ -205,20 +207,18 @@ Section 1: General Questions
|
||||
maintainers or from University of California, Berkeley. It is
|
||||
maintained through volunteer effort only.
|
||||
|
||||
The main mailing list is: questions@postgreSQL.org. It is available
|
||||
for discussion o f matters pertaining to PostgreSQL, including but not
|
||||
limited to bug reports and fixes. For info on how to subscribe, send a
|
||||
mail with the lines in the body (not the subject line)
|
||||
|
||||
The main mailing list is: pgsql-general@postgreSQL.org. It is
|
||||
available for discussion of matters pertaining to PostgreSQL, For info
|
||||
on how to subscribe, send a mail with the lines in the body (not the
|
||||
subject line)
|
||||
|
||||
subscribe
|
||||
end
|
||||
|
||||
to questions-request@postgreSQL.org.
|
||||
to pgsql-general-request@postgreSQL.org.
|
||||
|
||||
There is also a digest list available. To subscribe to this list, send
|
||||
email to: questions-digest-request@postgreSQL.org with a BODY of:
|
||||
|
||||
email to: pgsql-general-digest-request@postgreSQL.org with a BODY of:
|
||||
|
||||
subscribe
|
||||
end
|
||||
@ -226,8 +226,8 @@ Section 1: General Questions
|
||||
Digests are sent out to members of this list whenever the main list
|
||||
has received around 30k of messages.
|
||||
|
||||
There is a bugs mailing list available. To subscribe to this list,
|
||||
send email to bugs-request@postgreSQL.org with a BODY of:
|
||||
The bugs mailing list available. To subscribe to this list, send email
|
||||
to bugs-request@postgreSQL.org with a BODY of:
|
||||
|
||||
There is also a developers discussion mailing list available. To
|
||||
subscribe to this list, send email to hackers-request@postgreSQL.org
|
||||
@ -237,16 +237,19 @@ Section 1: General Questions
|
||||
subscribe
|
||||
end
|
||||
|
||||
Additional information about PostgreSQL can be found via the
|
||||
PostgreSQL WWW home page at:
|
||||
Additional mailing lists and information about PostgreSQL can be found
|
||||
via the PostgreSQL WWW home page at:
|
||||
|
||||
http://postgreSQL.org
|
||||
|
||||
There also an IRC channel on EFNet, channel #PostgreSQL. I use the
|
||||
unix command irc -c '#PostgreSQL' "$USER" irc.ais.net
|
||||
|
||||
1.6) Latest release of PostgreSQL
|
||||
|
||||
The latest release of PostgreSQL is version 6.3.2.
|
||||
The latest release of PostgreSQL is version 6.4 beta.
|
||||
|
||||
We plan to have major releases every three months.
|
||||
We plan to have major releases every four months.
|
||||
|
||||
1.7) Is there a commercial version of PostgreSQL?
|
||||
|
||||
@ -254,15 +257,15 @@ Section 1: General Questions
|
||||
Software, Inc.) sells an object-relational DBMS called Illustra that
|
||||
was originally based on postgres. Illustra has cosmetic similarities
|
||||
to PostgreSQL but has more features, is more robust, performs better,
|
||||
and offers real documentation and support. On the flip side, it costs
|
||||
money. For more information, contact sales@illustra.com
|
||||
and offers real support. On the flip side, it costs money. For more
|
||||
information, contact sales@illustra.com
|
||||
|
||||
1.8) What documentation is available for PostgreSQL?
|
||||
|
||||
A user manual, manual pages, and some small test examples are included
|
||||
in the distribution. The pgintro, sql, and pgbuiltin manual pages are
|
||||
particularly important. pgintro contains a list of all available
|
||||
manual pages.
|
||||
Several manuals, manual pages, and some small test examples are
|
||||
included in the distribution. See the /doc directory. The pgintro,
|
||||
sql, and pgbuiltin manual pages are particularly important. pgintro
|
||||
contains a list of all available manual pages.
|
||||
|
||||
psql has some nice \d commands to show information about types,
|
||||
operators, functions, aggregates, etc.
|
||||
@ -272,44 +275,30 @@ Section 1: General Questions
|
||||
|
||||
1.9) What version of SQL does PostgreSQL use?
|
||||
|
||||
PostgreSQL supports a subset of SQL-92.
|
||||
PostgreSQL supports an extended subset of SQL-92.
|
||||
|
||||
1.10) Does PostgreSQL work with databases from earlier versions of
|
||||
PostgreSQL?
|
||||
|
||||
PostgreSQL v1.09 is compatible with databases created with v1.01.
|
||||
|
||||
Upgrading to 6.3 from earlier releases requires a dump and restore.
|
||||
|
||||
Upgrading to 6.2.1 from pre-6.2 requires a dump and restore.
|
||||
|
||||
Upgrading to 6.2.1 from 6.2 does not require a dump, but see the
|
||||
appropriate /migration file in the distribution.
|
||||
Upgrading to 6.4 from earlier releases requires a dump and restore.
|
||||
|
||||
Those ugrading from versions earlier than 1.09 must upgrade to 1.09
|
||||
first without a dump/reload, then dump the data from 1.09, and then
|
||||
load it into 6.2.1 or 6.3.
|
||||
load it into 6.4.
|
||||
|
||||
1.11) Are there ODBC drivers for PostgreSQL?
|
||||
|
||||
There are two ODBC drivers available, PostODBC and OpenLink ODBC.
|
||||
|
||||
PostODBC is included in the distribution. For all people being
|
||||
interested in PostODBC, there are now two mailing lists devoted to the
|
||||
discussion of PostODBC. The mailing lists are:
|
||||
* postodbc-users@listserv.direct. net
|
||||
* postodbc-developers@listse rv.direct.net
|
||||
|
||||
these lists are ordinary majordomo mailing lists. You can subscribe by
|
||||
sending a mail to:
|
||||
* majordomo@listserv.direct.net
|
||||
|
||||
OpenLink ODBC is very popular. You can get it from
|
||||
http://www.openlinksw.com. It works with our standard ODBC client
|
||||
software so you'll have PostgreSQL ODBC available on every client
|
||||
platform we support (Win, Mac, Unix, VMS).
|
||||
PostODBC is included in the distribution. More information about it
|
||||
can be gotten from: http://www.insightdist.com/psqlodbc
|
||||
|
||||
We will probably be selling this product to people who need
|
||||
OpenLink ODBC can be gotten from http://www.openlinksw.com. It works
|
||||
with their standard ODBC client software so you'll have PostgreSQL
|
||||
ODBC available on every client platform they support (Win, Mac, Unix,
|
||||
VMS).
|
||||
|
||||
They will probably be selling this product to people who need
|
||||
commercial-quality support, but a freeware version will always be
|
||||
available. Questions to postgres95@openlink.co.uk.
|
||||
|
||||
@ -339,7 +328,10 @@ Section 1: General Questions
|
||||
|
||||
1.14) How can I learn SQL?
|
||||
|
||||
There is a nice tutorial at http://w3.one.net/~jhoffman/sqltut.htm
|
||||
There is a nice tutorial at http://w3.one.net/~jhoffman/sqltut.htm and
|
||||
at
|
||||
http://ourworld.compuserve.com/homepages/Graeme_Birchall/DB2_COOK.HTM.
|
||||
|
||||
Many of our users like The Practical SQL Handbook, Bowman et al,
|
||||
Addison Wesley.
|
||||
|
||||
@ -361,6 +353,8 @@ Section 2: Installation Questions
|
||||
|
||||
2.1) initdb doesn't run
|
||||
|
||||
* check that you don't have any of the previous version's binaries
|
||||
in your path
|
||||
* check to see that you have the proper paths set
|
||||
* check that the 'postgres' user owns all the right files
|
||||
* ensure that there are files in $PGDATA/files, and that they are
|
||||
@ -404,7 +398,7 @@ Section 2: Installation Questions
|
||||
The Makefiles do not have the proper dependencies for include files.
|
||||
You have to do a 'make clean' and then another 'make'.
|
||||
|
||||
2.8) How do I prevent other hosts from accessing my PostgreSQL backend?
|
||||
2.8) How do I prevent other hosts from accessing my PostgreSQL database?
|
||||
|
||||
By default, PostgreSQL only allows connections from the local machine
|
||||
using unix domain. You must add the -i flag to the postmaster, and
|
||||
@ -425,9 +419,17 @@ Section 2: Installation Questions
|
||||
|
||||
2.11) How do I tune the database engine for better performance?
|
||||
|
||||
There are several things that can be done. You can disable fsync() by
|
||||
starting the postmaster with a '-o -F' option. This will prevent
|
||||
fsync()'s from flushing to disk after every transaction.
|
||||
If you are doing a lot of INSERTs, consider doing them in a large
|
||||
batch using the COPY command. This is much faster than single
|
||||
individual INSERTs. Second, statements not in a BEGIN WORK/COMMIT
|
||||
transaction block are considered to be their in their own transaction.
|
||||
Consider performing several statements in a single transaction block.
|
||||
This reduces the transaction overhead. Also consider dropping and
|
||||
recreating indexes when making large data changes.
|
||||
|
||||
There are several tuning things that can be done. You can disable
|
||||
fsync() by starting the postmaster with a '-o -F' option. This will
|
||||
prevent fsync()'s from flushing to disk after every transaction.
|
||||
|
||||
You can also use the postmaster -B option to increase the number of
|
||||
shared memory buffers shared among the backend processes. If you make
|
||||
@ -454,7 +456,6 @@ Section 2: Installation Questions
|
||||
First, whenever you start the postmaster, make sure you send the
|
||||
standard output and error to a log file, like:
|
||||
|
||||
|
||||
cd /usr/local/pgsql
|
||||
./bin/postmaster >server.log 2>&1 &
|
||||
|
||||
@ -486,19 +487,22 @@ Section 2: Installation Questions
|
||||
The EXPLAIN command (see this FAQ) allows you to see how PostgreSQL is
|
||||
interpreting your query.
|
||||
|
||||
2.13) How do I enable more than 32 concurrent backends?
|
||||
2.13) How do I enable more than 64 concurrent backends?
|
||||
|
||||
Edit include/storage/sinvaladt.h, and change the value of
|
||||
MaxBackendId. In the future, we plan to make this a configurable
|
||||
prameter.
|
||||
|
||||
2.13) What non-unix ports are available?
|
||||
2.14) What non-unix ports are available?
|
||||
|
||||
It is possible to compile the libpq C library, psql, and other
|
||||
interfaces and binaries to run on MS Windows platforms. In this case,
|
||||
the client is running on MS Windows, and communicates via TCP/IP to a
|
||||
server running on one of our supported Unix platforms.
|
||||
|
||||
A file win32.mak is included in the distributiion for making a Win32
|
||||
libpq library and psql.
|
||||
|
||||
People have attempted to port our PostgreSQL database server to
|
||||
Windows NT using the Cygnus Unix/NT porting library, but no one has
|
||||
succeeded yet.
|
||||
@ -510,18 +514,7 @@ Section 3: PostgreSQL Features
|
||||
|
||||
Yes.
|
||||
|
||||
3.2) I've having a lot of problems using rules.
|
||||
|
||||
Currently, the rule system in PostgreSQL has some limitations. It
|
||||
works enough to support the view mechanism, but does not handle
|
||||
Insert/Update/Delete well.
|
||||
|
||||
3.3) I can't seem to write into the middle of large objects reliably.
|
||||
|
||||
The Inversion large object system now works perfectly. You should no
|
||||
longer have problems with large objects.
|
||||
|
||||
3.4) How can I write client applications to PostgreSQL?
|
||||
3.2) How can I write client applications to PostgreSQL?
|
||||
|
||||
PostgreSQL supports a C-callable library interface called libpq as
|
||||
well as many others. See the /src/interfaces directory.
|
||||
@ -529,12 +522,11 @@ Section 3: PostgreSQL Features
|
||||
Others have contributed a perl interface and a WWW gateway to
|
||||
PostgreSQL. See the PostgreSQL home pages for more details.
|
||||
|
||||
3.5) How do I set up a pg_group?
|
||||
3.3) How do I set up a pg_group?
|
||||
|
||||
Currently, there is no easy interface to set up user groups. You have
|
||||
to explicitly insert/update the pg_group table. For example:
|
||||
|
||||
|
||||
jolly=> insert into pg_group (groname, grosysid, grolist)
|
||||
jolly=> values ('posthackers', '1234', '{5443, 8261}');
|
||||
INSERT 548224
|
||||
@ -550,16 +542,16 @@ Section 3: PostgreSQL Features
|
||||
* grolist: the list of pg_user id's that belong in the group. This
|
||||
is an int4[].
|
||||
|
||||
3.6) What is the exact difference between binary cursors and normal cursors?
|
||||
3.4) What is the exact difference between binary cursors and normal cursors?
|
||||
|
||||
See the declare manual page for a description.
|
||||
|
||||
3.7) What is a R-tree index and what is it used for?
|
||||
3.5) What is an R-tree index and what is it used for?
|
||||
|
||||
An r-tree index is used for indexing spatial data. A hash index can't
|
||||
handle range searches. A B-tree index only handles range searches in a
|
||||
single dimension. R-tree's can handle multi-dimensional data. For
|
||||
example, if a R-tree index can be built on an attribute of type
|
||||
example, if an R-tree index can be built on an attribute of type
|
||||
'point', the system can more efficient answer queries like select all
|
||||
points within a bounding rectangle.
|
||||
|
||||
@ -577,7 +569,7 @@ Section 3: PostgreSQL Features
|
||||
extending R-trees require a bit of work and we don't currently have
|
||||
any documentation on how to do it.
|
||||
|
||||
3.8) What is the maximum size for a tuple?
|
||||
3.6) What is the maximum size for a tuple?
|
||||
|
||||
Tuples are limited to 8K bytes. Taking into account system attributes
|
||||
and other overhead, one should stay well shy of 8,000 bytes to be on
|
||||
@ -587,7 +579,7 @@ Section 3: PostgreSQL Features
|
||||
Tuples do not cross 8k boundaries so a 5k tuple will require 8k of
|
||||
storage.
|
||||
|
||||
3.9) I defined indices but my queries don't seem to make use of them. Why?
|
||||
3.7) I defined indices but my queries don't seem to make use of them. Why?
|
||||
|
||||
PostgreSQL does not automatically maintain statistics. One has to make
|
||||
an explicit 'vacuum' call to update the statistics. After statistics
|
||||
@ -608,17 +600,17 @@ Section 3: PostgreSQL Features
|
||||
|
||||
Indexes not used for ORDER BY operations.
|
||||
|
||||
3.10) How do I do regular expression searches? case-insensitive regexp
|
||||
3.8) How do I do regular expression searches? case-insensitive regexp
|
||||
searching?
|
||||
|
||||
See psql's \do command.
|
||||
|
||||
3.11) I experienced a server crash during a vacuum. How do I remove the lock
|
||||
3.9) I experienced a server crash during a vacuum. How do I remove the lock
|
||||
file?
|
||||
|
||||
See the vacuum manual page.
|
||||
|
||||
3.12) What is the difference between the various character types?
|
||||
3.10) What is the difference between the various character types?
|
||||
|
||||
Type Internal Name Notes
|
||||
--------------------------------------------------
|
||||
@ -638,23 +630,23 @@ BYTEA bytea variable-length array of bytes
|
||||
using them. Specifically, the penalty is for access to any columns
|
||||
after the first column of this type.
|
||||
|
||||
3.13) In a query, how do I detect if a field is NULL?
|
||||
3.11) In a query, how do I detect if a field is NULL?
|
||||
|
||||
You test the column with IS NULL and IS NOT NULL.
|
||||
|
||||
3.14) How do I see how the query optimizer is evaluating my query?
|
||||
3.12) How do I see how the query optimizer is evaluating my query?
|
||||
|
||||
See the explain manual page.
|
||||
|
||||
3.15) How do I create a serial field?
|
||||
3.13) How do I create a serial/auto-incrementing field?
|
||||
|
||||
PostgreSQL does not allow the user to specifiy a user column as type
|
||||
SERIAL. Instead, you can use each row's oid field as a unique value.
|
||||
However, if you need to dump and reload the database, you need to use
|
||||
pgdump's -o option or COPY's WITH OIDS option to preserver the oids.
|
||||
|
||||
We also have a SEQUENCE function that is similar to SERIAL. See the
|
||||
create_sequence manual page.
|
||||
We also have a SEQUENCE function that is very similar to SERIAL. See
|
||||
the create_sequence manual page.
|
||||
|
||||
Another valid way of doing this is to create a function:
|
||||
|
||||
@ -677,7 +669,7 @@ BYTEA bytea variable-length array of bytes
|
||||
Yet another way is to use general trigger function autoinc() from
|
||||
contrib/spi/autoinc.c.
|
||||
|
||||
3.16) What are the pg_psort.XXX files in my database directory?
|
||||
3.14) What are the pg_psort.XXX files in my database directory?
|
||||
|
||||
They are temporary sort files generated by the query executor. For
|
||||
example, if a sort needs to be done to satisfy an ORDER BY, some temp
|
||||
@ -686,14 +678,14 @@ BYTEA bytea variable-length array of bytes
|
||||
If you have no transactions or sorts running at the time, it is safe
|
||||
to delete the pg_psort.XXX files.
|
||||
|
||||
3.17) Why can't I connect to my database from another machine?
|
||||
3.15) Why can't I connect to my database from another machine?
|
||||
|
||||
The default configuration allows only unix domain socket connections
|
||||
from the local machine. To enable TCP/IP connections, use the
|
||||
postmaster -i option You need to add a host entry to the file
|
||||
pgsql/data/pg_hba. See the pg_hba.conf manual page.
|
||||
|
||||
3.18) How do I find out what indexes or operations are defined in the
|
||||
3.16) How do I find out what indexes or operations are defined in the
|
||||
database?
|
||||
|
||||
psql has a variety of backslash commands to show such information. Use
|
||||
@ -703,21 +695,15 @@ BYTEA bytea variable-length array of bytes
|
||||
many of the 'select's needed to get information out of the database
|
||||
system tables.
|
||||
|
||||
3.19) What is the time-warp feature and how does it relate to vacuum?
|
||||
|
||||
PostgreSQL no longer supports this feature. All support code has been
|
||||
removed. This was done to improve performance and reduce disk storage
|
||||
overhead.
|
||||
|
||||
3.20) What is an oid? What is a tid?
|
||||
3.17) What is an oid? What is a tid?
|
||||
|
||||
Oids are PostgreSQL's answer to unique row ids or serial columns.
|
||||
Every row that is created in PostgreSQL gets a unique oid. All oids
|
||||
generated by initdb are less than 16384 (from
|
||||
backend/access/transam.h). All post-initdb (user-created) oids are
|
||||
equal or greater that this. All these oids are unique not only within
|
||||
a table, or database, but unique within the entire PostgreSQL
|
||||
installation.
|
||||
equal or greater that this. By default, all these oids are unique not
|
||||
only within a table, or database, but unique within the entire
|
||||
PostgreSQL installation.
|
||||
|
||||
PostgreSQL uses oids in its internal system tables to link rows in
|
||||
separate tables. These oids can be used to identify specific user rows
|
||||
@ -725,12 +711,19 @@ BYTEA bytea variable-length array of bytes
|
||||
oid values. See the sql(l) manual page to see the other internal
|
||||
columns. You can create an index on the oid field for faster access.
|
||||
|
||||
Oids are assigned to all new rows from a central area that is used by
|
||||
all databases. If you want to change the oid to something else, or if
|
||||
you want to make a copy of the table, with the original oid's, there
|
||||
is no reason you can't do it:
|
||||
CREATE TABLE new_table (mycol int);
|
||||
INSERT INTO new_table SELECT oid, mycol FROM old_table;
|
||||
|
||||
Tids are used to indentify specific physical rows with block and
|
||||
offset values. Tids change after rows are modified or reloaded. They
|
||||
are used by index entries to point to physical rows. They can not be
|
||||
accessed through sql.
|
||||
|
||||
3.21) What is the meaning of some of the terms used in PostgreSQL?
|
||||
3.18) What is the meaning of some of the terms used in PostgreSQL?
|
||||
|
||||
Some of the source code and older documentation use terms that have
|
||||
more common usage. Here are some:
|
||||
@ -746,7 +739,7 @@ BYTEA bytea variable-length array of bytes
|
||||
|
||||
Please let me know if you think of any more.
|
||||
|
||||
3.22) What is Genetic Query Optimization?
|
||||
3.19) What is Genetic Query Optimization?
|
||||
|
||||
The GEQO module in PostgreSQL is intended to solve the query
|
||||
optimization problem of joining many tables by means of a Genetic
|
||||
@ -755,7 +748,7 @@ BYTEA bytea variable-length array of bytes
|
||||
|
||||
For further information see README.GEQO <utesch@aut.tu-freiberg.de>.
|
||||
|
||||
3.23) How do you remove a column from a table?
|
||||
3.20) How do you remove a column from a table?
|
||||
|
||||
We do not support ALTER TABLE DROP COLUMN, but do this:
|
||||
|
||||
@ -765,29 +758,22 @@ BYTEA bytea variable-length array of bytes
|
||||
DROP TABLE old_table;
|
||||
ALTER TABLE new_table RENAME TO old_table;
|
||||
|
||||
3.24) How do SELECT only the first few rows of a query?
|
||||
3.21) How do SELECT only the first few rows of a query?
|
||||
|
||||
See the fetch manual page.
|
||||
|
||||
This only prevents all row results from being transfered to the
|
||||
client. The entire query must be evaluated, even if you only want just
|
||||
first few rows. Consider a query that has and ORDER BY. There is no
|
||||
way to return any rows until the entire query is evaluated and sorted.
|
||||
the first few rows. Consider a query that has and an ORDER BY. There
|
||||
is no way to return any rows until the entire query is evaluated and
|
||||
sorted.
|
||||
|
||||
3.25) Why can't I create a column named "time"?
|
||||
|
||||
6.2.1 has added some new restricted keywords as we make PostgreSQL
|
||||
more ANSI-92 compilant. The next release will have this restriction
|
||||
removed. There is a patch on ftp.postgresql.org that will allow this
|
||||
feature now.
|
||||
|
||||
3.26)How much database disk space is required to store data from a typical
|
||||
3.22)How much database disk space is required to store data from a typical
|
||||
flat file?
|
||||
|
||||
Consider a file with 300,000 lines with two integers on each line. The
|
||||
flat file is 2.4MB. The size of the PostgreSQL database file
|
||||
containing this data can be estimated:
|
||||
|
||||
40 bytes + each row header (approximate)
|
||||
8 bytes + two int fields @ 4 bytes each
|
||||
4 bytes + pointer on page to tuple
|
||||
@ -806,8 +792,34 @@ The data page size in PostgreSQL is 8192(8k) bytes, so:
|
||||
|
||||
1911 database pages * 8192 bytes per page = 15,654,912 or 15.5MB
|
||||
|
||||
Indexes do not contain as much overhead, but do contain the data that
|
||||
is being indexed, so they can be large also.
|
||||
|
||||
Indexes do not contain as much overhead, but do contain the data that is
|
||||
being indexed, so they can be large also.
|
||||
|
||||
3.23) How do I get a list of tables, or other things I can see in psql?
|
||||
|
||||
See the file pgsql/src/bin/psql/psql.c. It contains SQL commands that
|
||||
generate the output for psql's backslash commands.
|
||||
|
||||
3.24) Why do I get the error "FATAL: palloc failure: memory exhausted?"
|
||||
|
||||
It is possible you have run out of virtual memory on your system, or
|
||||
your kernel has a low limit for certain resources. Try this before
|
||||
starting the postmaster:
|
||||
|
||||
ulimit -d 65536
|
||||
limit datasize 64m
|
||||
|
||||
Depending on your shell, only one of these may succeed, but it will
|
||||
set your process data segment limit much higher and perhaps allow the
|
||||
query to complete. This command applies the current process, and all
|
||||
subprocesses created after the command is run. If are having a problem
|
||||
with the SQL client because the backend is returning too much data,
|
||||
try it before starting the client.
|
||||
|
||||
3.25) How do I tell what PostgreSQL version I am running?
|
||||
|
||||
From psql, type select version();
|
||||
_________________________________________________________________
|
||||
|
||||
Section 4: Extending PostgreSQL
|
||||
|
Loading…
x
Reference in New Issue
Block a user