You can create a new table by specifying the table name, along with all column names and their types:
CREATE TABLE weather ( city varchar(80), temp_lo int, -- low temperature temp_hi int, -- high temperature prcp real, -- precipitation date date );
You can enter this into
the line breaks.
psql will recognize
that the command is not terminated until the semicolon.
White space (i.e., spaces, tabs, and newlines) can be used
freely in SQL commands. That means you can type the command aligned
differently than above, or even all on one line. Two dashes
--”) introduce comments. Whatever
follows them is ignored up to the end of the line. SQL is case
insensitive about key words and identifiers, except when
identifiers are double-quoted to preserve the case (not done
varchar(80) specifies a data type that
can store arbitrary character strings up to 80 characters in
int is the normal integer type.
real is a type for storing single
precision floating-point numbers.
should be self-explanatory. (Yes, the column of type
date is also named
date. This might be convenient or confusing —
PostgreSQL supports the
standard SQL types
interval, as well as other types of general utility
and a rich set of geometric types. PostgreSQL can be customized with an arbitrary
number of user-defined data types. Consequently, type names are not
key words in the syntax, except where required to support special
cases in the SQL standard.
The second example will store cities and their associated geographical location:
CREATE TABLE cities ( name varchar(80), location point );
point type is an example of a
PostgreSQL-specific data type.
If you see anything in the documentation that is not correct, does not match your experience with the particular feature or requires further clarification, please use this form to report a documentation issue.