mirror of
				https://github.com/postgres/postgres.git
				synced 2025-10-30 00:04:49 -04:00 
			
		
		
		
	Update FAQ.
This commit is contained in:
		
							parent
							
								
									3576820e78
								
							
						
					
					
						commit
						ceec779ab5
					
				
							
								
								
									
										59
									
								
								doc/FAQ
									
									
									
									
									
								
							
							
						
						
									
										59
									
								
								doc/FAQ
									
									
									
									
									
								
							| @ -1,7 +1,7 @@ | ||||
| 
 | ||||
|                 Frequently Asked Questions (FAQ) for PostgreSQL | ||||
|                                         | ||||
|    Last updated: Tue Feb 12 12:18:09 EST 2002 | ||||
|    Last updated: Thu Feb 14 12:14:47 EST 2002 | ||||
|     | ||||
|    Current maintainer: Bruce Momjian (pgman@candle.pha.pa.us) | ||||
|     | ||||
| @ -48,13 +48,11 @@ | ||||
|    Why? | ||||
|    3.4) When I try to start postmaster, I get IpcSemaphoreCreate errors. | ||||
|    Why? | ||||
|    3.5) How do I prevent other hosts from accessing my PostgreSQL | ||||
|    database? | ||||
|    3.6) Why can't I connect to my database from another machine? | ||||
|    3.7) How do I tune the database engine for better performance? | ||||
|    3.8) What debugging features are available? | ||||
|    3.9) Why do I get "Sorry, too many clients" when trying to connect? | ||||
|    3.10) What are the pg_sorttempNNN.NN files in my database directory? | ||||
|    3.5) How do I control connections from other hosts? | ||||
|    3.6) How do I tune the database engine for better performance? | ||||
|    3.7) What debugging features are available? | ||||
|    3.8) Why do I get "Sorry, too many clients" when trying to connect? | ||||
|    3.9) What are the pg_sorttempNNN.NN files in my database directory? | ||||
|     | ||||
|                            Operational Questions | ||||
|                                        | ||||
| @ -484,7 +482,7 @@ | ||||
|    Administrator's Guide for more detailed information about shared | ||||
|    memory and semaphores. | ||||
|     | ||||
|     3.5) How do I prevent other hosts from accessing my PostgreSQL database? | ||||
|     3.5) How do I control connections from other hosts? | ||||
|      | ||||
|    By default, PostgreSQL only allows connections from the local machine | ||||
|    using Unix domain sockets. Other machines will not be able to connect | ||||
| @ -492,14 +490,7 @@ | ||||
|    authentication by modifying the file $PGDATA/pg_hba.conf accordingly. | ||||
|    This will allow TCP/IP connections. | ||||
|     | ||||
|     3.6) 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, make sure | ||||
|    postmaster has been started with the -i option, and add an appropriate | ||||
|    host entry to the file pgsql/data/pg_hba.conf. | ||||
|     | ||||
|     3.7) How do I tune the database engine for better performance? | ||||
|     3.6) How do I tune the database engine for better performance? | ||||
|      | ||||
|    Certainly, indexes can speed up queries. The EXPLAIN command allows | ||||
|    you to see how PostgreSQL is interpreting your query, and which | ||||
| @ -530,7 +521,7 @@ | ||||
|    You can also use the CLUSTER command to group data in tables to match | ||||
|    an index. See the CLUSTER manual page for more details. | ||||
|     | ||||
|     3.8) What debugging features are available? | ||||
|     3.7) What debugging features are available? | ||||
|      | ||||
|    PostgreSQL has several features that report status information that | ||||
|    can be valuable for debugging purposes. | ||||
| @ -577,7 +568,7 @@ | ||||
|    pgsql/data/base/dbname directory. The client profile file will be put | ||||
|    in the client's current directory. | ||||
|     | ||||
|     3.9) Why do I get "Sorry, too many clients" when trying to connect? | ||||
|     3.8) Why do I get "Sorry, too many clients" when trying to connect? | ||||
|      | ||||
|    You need to increase postmaster's limit on how many concurrent backend | ||||
|    processes it can start. | ||||
| @ -601,7 +592,7 @@ | ||||
|    was 64, and changing it required a rebuild after altering the | ||||
|    MaxBackendId constant in include/storage/sinvaladt.h. | ||||
|     | ||||
|     3.10) What are the pg_sorttempNNN.NN files in my database directory? | ||||
|     3.9) What are the pg_sorttempNNN.NN files in my database directory? | ||||
|      | ||||
|    They are temporary files generated by the query executor. For example, | ||||
|    if a sort needs to be done to satisfy an ORDER BY, and the sort | ||||
| @ -671,29 +662,31 @@ | ||||
|     4.6) How much database disk space is required to store data from a typical | ||||
|     text file? | ||||
|      | ||||
|    A PostgreSQL database may need six-and-a-half times the disk space | ||||
|    required to store the data in a flat file. | ||||
|    A PostgreSQL database may require up to five times the disk space to | ||||
|    store data from a text file. | ||||
|     | ||||
|    Consider a file of 300,000 lines with two integers on each line. The | ||||
|    flat file is 2.4 MB. The size of the PostgreSQL database file | ||||
|    containing this data can be estimated at 14 MB: | ||||
|    As an example, consider a file of 100,000 lines with an integer and | ||||
|    text description on each line. Suppose the text string avergages | ||||
|    twenty characters in length. The flat file would be 2.8 MB. The size | ||||
|    of the PostgreSQL database file containing this data can be estimated | ||||
|    as 6.6 MB: | ||||
|     36 bytes: each row header (approximate) | ||||
|    + 8 bytes: two int fields @ 4 bytes each | ||||
|     26 bytes: two int fields @ 4 bytes each | ||||
|    + 4 bytes: pointer on page to tuple | ||||
|    ---------------------------------------- | ||||
|     48 bytes per row | ||||
|     66 bytes per row | ||||
| 
 | ||||
|    The data page size in PostgreSQL is 8192 bytes (8 KB), so: | ||||
| 
 | ||||
|    8192 bytes per page | ||||
|    -------------------   =  171 rows per database page (rounded up) | ||||
|      48 bytes per row | ||||
|    -------------------   =  124 rows per database page (rounded down) | ||||
|      66 bytes per row | ||||
| 
 | ||||
|    300000 data rows | ||||
|    --------------------  =  1755 database pages | ||||
|       171 rows per page | ||||
|    100000 data rows | ||||
|    --------------------  =  807 database pages (rounded up) | ||||
|       124 rows per page | ||||
| 
 | ||||
| 1755 database pages * 8192 bytes per page  =  14,376,960 bytes (14 MB) | ||||
| 807 database pages * 8192 bytes per page  =  6,610,944 bytes (6.6 MB) | ||||
| 
 | ||||
|    Indexes do not require as much overhead, but do contain the data that | ||||
|    is being indexed, so they can be large also. | ||||
|  | ||||
| @ -14,7 +14,7 @@ | ||||
|   alink="#0000ff"> | ||||
|     <H1>Frequently Asked Questions (FAQ) for PostgreSQL</H1> | ||||
| 
 | ||||
|     <P>Last updated: Tue Feb 12 12:18:09 EST 2002</P> | ||||
|     <P>Last updated: Thu Feb 14 12:14:47 EST 2002</P> | ||||
| 
 | ||||
|     <P>Current maintainer: Bruce Momjian (<A href= | ||||
|     "mailto:pgman@candle.pha.pa.us">pgman@candle.pha.pa.us</A>)<BR> | ||||
| @ -72,16 +72,13 @@ | ||||
|     get <I>IpcMemoryCreate</I> errors. Why?<BR> | ||||
|      <A href="#3.4">3.4</A>) When I try to start <I>postmaster</I>, I | ||||
|     get <I>IpcSemaphoreCreate</I> errors. Why?<BR> | ||||
|      <A href="#3.5">3.5</A>) How do I prevent other hosts from | ||||
|     accessing my PostgreSQL database?<BR> | ||||
|      <A href="#3.6">3.6</A>) Why can't I connect to my database from | ||||
|     another machine?<BR> | ||||
|      <A href="#3.7">3.7</A>) How do I tune the database engine for | ||||
|      <A href="#3.5">3.5</A>) How do I control connections from other hosts?<BR> | ||||
|      <A href="#3.6">3.6</A>) How do I tune the database engine for | ||||
|     better performance?<BR> | ||||
|      <A href="#3.8">3.8</A>) What debugging features are available?<BR> | ||||
|      <A href="#3.9">3.9</A>) Why do I get <I>"Sorry, too many | ||||
|      <A href="#3.7">3.7</A>) What debugging features are available?<BR> | ||||
|      <A href="#3.8">3.8</A>) Why do I get <I>"Sorry, too many | ||||
|     clients"</I> when trying to connect?<BR> | ||||
|      <A href="#3.10">3.10</A>) What are the <I>pg_sorttempNNN.NN</I> | ||||
|      <A href="#3.9">3.9</A>) What are the <I>pg_sorttempNNN.NN</I> | ||||
|     files in my database directory?<BR> | ||||
|       | ||||
| 
 | ||||
| @ -633,8 +630,8 @@ | ||||
|     PostgreSQL Administrator's Guide for more detailed information | ||||
|     about shared memory and semaphores.</P> | ||||
| 
 | ||||
|     <H4><A name="3.5">3.5</A>) How do I prevent other hosts from | ||||
|     accessing my PostgreSQL database?</H4> | ||||
|     <H4><A name="3.5">3.5</A>) How do I control connections from other | ||||
|     hosts?</H4> | ||||
| 
 | ||||
|     <P>By default, PostgreSQL only allows connections from the local | ||||
|     machine using Unix domain sockets. Other machines will not be able | ||||
| @ -643,16 +640,7 @@ | ||||
|     <I>$PGDATA/pg_hba.conf</I> accordingly. This will allow TCP/IP | ||||
|     connections.</P> | ||||
| 
 | ||||
|     <H4><A name="3.6">3.6</A>) Why can't I connect to my database from | ||||
|     another machine?</H4> | ||||
| 
 | ||||
|     <P>The default configuration allows only Unix domain socket | ||||
|     connections from the local machine. To enable TCP/IP connections, | ||||
|     make sure <I>postmaster</I> has been started with the <I>-i</I> | ||||
|     option, and add an appropriate host entry to the file | ||||
|     <I>pgsql/data/pg_hba.conf</I>.</P> | ||||
| 
 | ||||
|     <H4><A name="3.7">3.7</A>) How do I tune the database engine for | ||||
|     <H4><A name="3.6">3.6</A>) How do I tune the database engine for | ||||
|     better performance?</H4> | ||||
| 
 | ||||
|     <P>Certainly, indexes can speed up queries. The | ||||
| @ -689,7 +677,7 @@ | ||||
|     data in tables to match an index. See the <SMALL>CLUSTER</SMALL> | ||||
|     manual page for more details.</P> | ||||
| 
 | ||||
|     <H4><A name="3.8">3.8</A>) What debugging features are | ||||
|     <H4><A name="3.7">3.7</A>) What debugging features are | ||||
|     available?</H4> | ||||
| 
 | ||||
|     <P>PostgreSQL has several features that report status information | ||||
| @ -745,7 +733,7 @@ | ||||
|     in the <I>pgsql/data/base/dbname</I> directory. The client profile | ||||
|     file will be put in the client's current directory.</P> | ||||
| 
 | ||||
|     <H4><A name="3.9">3.9</A>) Why do I get <I>"Sorry, too many | ||||
|     <H4><A name="3.8">3.8</A>) Why do I get <I>"Sorry, too many | ||||
|     clients"</I> when trying to connect?</H4> | ||||
| 
 | ||||
|     <P>You need to increase <I>postmaster</I>'s limit on how many | ||||
| @ -775,7 +763,7 @@ | ||||
|     the MaxBackendId constant in | ||||
|     <I>include/storage/sinvaladt.h</I>.</P> | ||||
| 
 | ||||
|     <H4><A name="3.10">3.10</A>) What are the <I>pg_sorttempNNN.NN</I> | ||||
|     <H4><A name="3.9">3.9</A>) What are the <I>pg_sorttempNNN.NN</I> | ||||
|     files in my database directory?</H4> | ||||
| 
 | ||||
|     <P>They are temporary files generated by the query executor. For | ||||
| @ -862,30 +850,32 @@ | ||||
|     <H4><A name="4.6">4.6</A>) How much database disk space is required | ||||
|     to store data from a typical text file?</H4> | ||||
| 
 | ||||
|     <P>A PostgreSQL database may need six-and-a-half times the disk | ||||
|     space required to store the data in a flat file.</P> | ||||
|     <P>A PostgreSQL database may require up to five times the disk space | ||||
|     to store data from a text file.</P> | ||||
| 
 | ||||
|     <P>Consider a file of 300,000 lines with two integers on each line. | ||||
|     The flat file is 2.4 MB. The size of the PostgreSQL database file | ||||
|     containing this data can be estimated at 14 MB:</P> | ||||
|     <P>As an example, consider a file of 100,000 lines with an integer | ||||
|     and text description on each line. Suppose the text string avergages | ||||
|     twenty characters in length. The flat file would be 2.8 MB. The size | ||||
|     of the PostgreSQL database file containing this data can be | ||||
|     estimated as 6.6 MB:</P> | ||||
| <PRE> | ||||
|     36 bytes: each row header (approximate) | ||||
|    + 8 bytes: two int fields @ 4 bytes each | ||||
|     26 bytes: two int fields @ 4 bytes each | ||||
|    + 4 bytes: pointer on page to tuple | ||||
|    ---------------------------------------- | ||||
|     48 bytes per row | ||||
|     66 bytes per row | ||||
| 
 | ||||
|    The data page size in PostgreSQL is 8192 bytes (8 KB), so: | ||||
| 
 | ||||
|    8192 bytes per page | ||||
|    -------------------   =  171 rows per database page (rounded up) | ||||
|      48 bytes per row | ||||
|    -------------------   =  124 rows per database page (rounded down) | ||||
|      66 bytes per row | ||||
| 
 | ||||
|    300000 data rows | ||||
|    --------------------  =  1755 database pages | ||||
|       171 rows per page | ||||
|    100000 data rows | ||||
|    --------------------  =  807 database pages (rounded up) | ||||
|       124 rows per page | ||||
| 
 | ||||
| 1755 database pages * 8192 bytes per page  =  14,376,960 bytes (14 MB) | ||||
| 807 database pages * 8192 bytes per page  =  6,610,944 bytes (6.6 MB) | ||||
| </PRE> | ||||
| 
 | ||||
|     <P>Indexes do not require as much overhead, but do contain the data | ||||
|  | ||||
		Loading…
	
	
			
			x
			
			
		
	
		Reference in New Issue
	
	Block a user