Add item for changing a column's data type.
This commit is contained in:
parent
6923ea2b86
commit
90903069e9
21
doc/FAQ
21
doc/FAQ
@ -1,7 +1,7 @@
|
|||||||
|
|
||||||
Frequently Asked Questions (FAQ) for PostgreSQL
|
Frequently Asked Questions (FAQ) for PostgreSQL
|
||||||
|
|
||||||
Last updated: Tue Apr 22 14:02:41 EDT 2003
|
Last updated: Mon May 26 15:25:04 EDT 2003
|
||||||
|
|
||||||
Current maintainer: Bruce Momjian (pgman@candle.pha.pa.us)
|
Current maintainer: Bruce Momjian (pgman@candle.pha.pa.us)
|
||||||
|
|
||||||
@ -60,7 +60,8 @@
|
|||||||
4.1) What is the difference between binary cursors and normal cursors?
|
4.1) What is the difference between binary cursors and normal cursors?
|
||||||
4.2) How do I SELECT only the first few rows of a query?
|
4.2) How do I SELECT only the first few rows of a query?
|
||||||
4.3) How do I get a list of tables or other things I can see in psql?
|
4.3) How do I get a list of tables or other things I can see in psql?
|
||||||
4.4) How do you remove a column from a table?
|
4.4) How do you remove a column from a table, or change it's data
|
||||||
|
type?
|
||||||
4.5) What is the maximum size for a row, a table, and a database?
|
4.5) What is the maximum size for a row, a table, and a database?
|
||||||
4.6) How much database disk space is required to store data from a
|
4.6) How much database disk space is required to store data from a
|
||||||
typical text file?
|
typical text file?
|
||||||
@ -644,10 +645,10 @@
|
|||||||
the -E option so it will print out the queries it uses to execute the
|
the -E option so it will print out the queries it uses to execute the
|
||||||
commands you give.
|
commands you give.
|
||||||
|
|
||||||
4.4) How do you remove a column from a table?
|
4.4) How do you remove a column from a table, or change its data type?
|
||||||
|
|
||||||
This functionality was added in release 7.3 with ALTER TABLE DROP
|
DROP COLUMN functionality was added in release 7.3 with ALTER TABLE
|
||||||
COLUMN. In earlier versions, you can do this:
|
DROP COLUMN. In earlier versions, you can do this:
|
||||||
BEGIN;
|
BEGIN;
|
||||||
LOCK TABLE old_table;
|
LOCK TABLE old_table;
|
||||||
SELECT ... -- select all columns but the one you want to remove
|
SELECT ... -- select all columns but the one you want to remove
|
||||||
@ -657,6 +658,16 @@
|
|||||||
ALTER TABLE new_table RENAME TO old_table;
|
ALTER TABLE new_table RENAME TO old_table;
|
||||||
COMMIT;
|
COMMIT;
|
||||||
|
|
||||||
|
To change the data type of a column, do this:
|
||||||
|
BEGIN;
|
||||||
|
ALTER TABLE tab ADD COLUMN new_col new_data_type;
|
||||||
|
UPDATE tab SET new_col = CAST(old_col AS new_data_type);
|
||||||
|
ALTER TABLE DROP COLUMN old_col;
|
||||||
|
COMMIT;
|
||||||
|
|
||||||
|
You might then want to do VACUUM FULL tab to reclaim the disk space
|
||||||
|
used by the expired rows.
|
||||||
|
|
||||||
4.5) What is the maximum size for a row, a table, and a database?
|
4.5) What is the maximum size for a row, a table, and a database?
|
||||||
|
|
||||||
These are the limits:
|
These are the limits:
|
||||||
|
@ -10,7 +10,7 @@
|
|||||||
alink="#0000ff">
|
alink="#0000ff">
|
||||||
<H1>Frequently Asked Questions (FAQ) for PostgreSQL</H1>
|
<H1>Frequently Asked Questions (FAQ) for PostgreSQL</H1>
|
||||||
|
|
||||||
<P>Last updated: Tue Apr 22 14:02:41 EDT 2003</P>
|
<P>Last updated: Mon May 26 15:25:04 EDT 2003</P>
|
||||||
|
|
||||||
<P>Current maintainer: Bruce Momjian (<A href=
|
<P>Current maintainer: Bruce Momjian (<A href=
|
||||||
"mailto:pgman@candle.pha.pa.us">pgman@candle.pha.pa.us</A>)<BR>
|
"mailto:pgman@candle.pha.pa.us">pgman@candle.pha.pa.us</A>)<BR>
|
||||||
@ -87,7 +87,7 @@
|
|||||||
<A href="#4.3">4.3</A>) How do I get a list of tables or other
|
<A href="#4.3">4.3</A>) How do I get a list of tables or other
|
||||||
things I can see in <I>psql</I>?<BR>
|
things I can see in <I>psql</I>?<BR>
|
||||||
<A href="#4.4">4.4</A>) How do you remove a column from a
|
<A href="#4.4">4.4</A>) How do you remove a column from a
|
||||||
table?<BR>
|
table, or change it's data type?<BR>
|
||||||
<A href="#4.5">4.5</A>) What is the maximum size for a row, a
|
<A href="#4.5">4.5</A>) What is the maximum size for a row, a
|
||||||
table, and a database?<BR>
|
table, and a database?<BR>
|
||||||
<A href="#4.6">4.6</A>) How much database disk space is required
|
<A href="#4.6">4.6</A>) How much database disk space is required
|
||||||
@ -822,9 +822,9 @@
|
|||||||
execute the commands you give.</P>
|
execute the commands you give.</P>
|
||||||
|
|
||||||
<H4><A name="4.4">4.4</A>) How do you remove a column from a
|
<H4><A name="4.4">4.4</A>) How do you remove a column from a
|
||||||
table?</H4>
|
table, or change its data type?</H4>
|
||||||
|
|
||||||
<P>This functionality was added in release 7.3 with
|
<P><SMALL>DROP COLUMN</SMALL> functionality was added in release 7.3 with
|
||||||
<SMALL>ALTER TABLE DROP COLUMN</SMALL>. In earlier versions,
|
<SMALL>ALTER TABLE DROP COLUMN</SMALL>. In earlier versions,
|
||||||
you can do this:</P>
|
you can do this:</P>
|
||||||
<PRE>
|
<PRE>
|
||||||
@ -838,6 +838,17 @@
|
|||||||
COMMIT;
|
COMMIT;
|
||||||
</PRE>
|
</PRE>
|
||||||
|
|
||||||
|
<P>To change the data type of a column, do this:</P>
|
||||||
|
<PRE>
|
||||||
|
BEGIN;
|
||||||
|
ALTER TABLE tab ADD COLUMN new_col <i>new_data_type</i>;
|
||||||
|
UPDATE tab SET new_col = CAST(old_col AS <i>new_data_type</i>);
|
||||||
|
ALTER TABLE DROP COLUMN old_col;
|
||||||
|
COMMIT;
|
||||||
|
</PRE>
|
||||||
|
<P>You might then want to do <I>VACUUM FULL tab</I> to reclaim the
|
||||||
|
disk space used by the expired rows.</P>
|
||||||
|
|
||||||
<H4><A name="4.5">4.5</A>) What is the maximum size for a row, a
|
<H4><A name="4.5">4.5</A>) What is the maximum size for a row, a
|
||||||
table, and a database?</H4>
|
table, and a database?</H4>
|
||||||
|
|
||||||
|
Loading…
x
Reference in New Issue
Block a user