发表时间:2010-02-04
最后修改:2011-04-24
一旦你创建了数据库,你就可以访问它:
-
运行 PostgreSQL 交互的终端程序, 叫 psql, 它允许你交互地输入,编辑,和执行 SQL 命令。
-
使用我们现有的图形前端工具,比如 PgAccess 或者带 ODBC 支持的办公套件来创建和管理数据库。 这种方法在这份教程中没有介绍。
-
写一个客户应用,使用多种语言绑定中的一种。 这些可能性在 Part IV 中有更深入的讨论。
你可能需要启动 psql,试验本教程中的例子。 你可以用下面的命令为 mydb 数据库激活它:
$ psql mydb
如果你省略了数据库名字,那么它缺省就是你的用户账号名字。 你已经在前面的小节里知道这个大纲了。
在 psql 里,你会看到下面的欢迎信息:
Welcome to psql 8.1, the PostgreSQL interactive terminal.
Type: \copyright for distribution terms
\h for help with SQL commands
\? for help with psql commands
\g or terminate with semicolon to execute query
\q to quit
mydb=>
最后一行也可能是
mydb=#
这个提示符意味着你是数据库超级用户,最可能出现在你自己安装了 PostgreSQL 的情况下。作为超级用户意味着你不受访问控制的限制。 对于本教程的目的而言,是否超级用户并不重要。
如果你启动 psql 时碰到了问题,那么回到前面的小节。 诊断 createdb 的方法和诊断 psql 的方法很类似, 如果前者能运行那么后者也应该能运行。
psql 打印出的最后一行是提示符,它表示 psql 正听着你说话,这个时候你就可以敲入 SQL 查询到一个 psql 维护的工作区中。试验一下下面的命令:
mydb=> SELECT version();
version
----------------------------------------------------------------
PostgreSQL 8.1 on i586-pc-linux-gnu, compiled by GCC 2.96
(1 row)
mydb=> SELECT current_date;
date
------------
2002-08-31
(1 row)
mydb=> SELECT 2 + 2;
?column?
----------
4
(1 row)
psql 程序有一些不属于 SQL 命令的内部命令。 它们以反斜杠开头,"\"。 有些这种命令在欢迎信息中列出。比如,你可以用下面的命令获取各种PostgreSQL SQL 命令的帮助语法:
mydb=> \h
要退出 psql,键入
mydb=> \q
然后 psql 就会退出并且给你返回到命令行 shell。 (要获取更多有关内部命令的信息,你可以在 psql 提示符上键入 \?。) psql 的完整功能在 Part VI 中有文档。如果 PostgreSQL 安装正确,那么你还可以在操作系统的 shell 提示符上键入 man psql 来阅读该文档。在这份文档里,我们将不会明确使用这些特性,但是你自己可以在合适的时候使用它们。
笔者实际操作如下:
mydb=# select version();
version
-------------------------------------------------------------
PostgreSQL 8.4.2, compiled by Visual C++ build 1400, 32-bit
(1 row)
mydb=# SELECT current_date;
date
------------
2010-02-04
(1 row)
mydb=# SELECT 2 + 2;
?column?
----------
4
(1 row)
mydb=# \h
Available help:
ABORT DELETE
ALTER AGGREGATE DISCARD
ALTER CONVERSION DROP AGGREGATE
ALTER DATABASE DROP CAST
ALTER DOMAIN DROP CONVERSION
ALTER FOREIGN DATA WRAPPER DROP DATABASE
ALTER FUNCTION DROP DOMAIN
ALTER GROUP DROP FOREIGN DATA WRAPPER
ALTER INDEX DROP FUNCTION
ALTER LANGUAGE DROP GROUP
ALTER OPERATOR DROP INDEX
ALTER OPERATOR CLASS DROP LANGUAGE
ALTER OPERATOR FAMILY DROP OPERATOR
ALTER ROLE DROP OPERATOR CLASS
ALTER SCHEMA DROP OPERATOR FAMILY
ALTER SEQUENCE DROP OWNED
ALTER SERVER DROP ROLE
ALTER TABLE DROP RULE
ALTER TABLESPACE DROP SCHEMA
ALTER TEXT SEARCH CONFIGURATION DROP SEQUENCE
ALTER TEXT SEARCH DICTIONARY DROP SERVER
ALTER TEXT SEARCH PARSER DROP TABLE
ALTER TEXT SEARCH TEMPLATE DROP TABLESPACE
ALTER TRIGGER DROP TEXT SEARCH CONFIGURATION
ALTER TYPE DROP TEXT SEARCH DICTIONARY
ALTER USER DROP TEXT SEARCH PARSER
ALTER USER MAPPING DROP TEXT SEARCH TEMPLATE
ALTER VIEW DROP TRIGGER
ANALYZE DROP TYPE
BEGIN DROP USER
CHECKPOINT DROP USER MAPPING
CLOSE DROP VIEW
CLUSTER END
COMMENT EXECUTE
COMMIT EXPLAIN
COMMIT PREPARED FETCH
COPY GRANT
CREATE AGGREGATE INSERT
CREATE CAST LISTEN
CREATE CONSTRAINT TRIGGER LOAD
CREATE CONVERSION LOCK
CREATE DATABASE MOVE
CREATE DOMAIN NOTIFY
CREATE FOREIGN DATA WRAPPER PREPARE
CREATE FUNCTION PREPARE TRANSACTION
CREATE GROUP REASSIGN OWNED
CREATE INDEX REINDEX
CREATE LANGUAGE RELEASE SAVEPOINT
CREATE OPERATOR RESET
CREATE OPERATOR CLASS REVOKE
CREATE OPERATOR FAMILY ROLLBACK
CREATE ROLE ROLLBACK PREPARED
CREATE RULE ROLLBACK TO SAVEPOINT
CREATE SCHEMA SAVEPOINT
CREATE SEQUENCE SELECT
CREATE SERVER SELECT INTO
CREATE TABLE SET
CREATE TABLE AS SET CONSTRAINTS
CREATE TABLESPACE SET ROLE
CREATE TEXT SEARCH CONFIGURATION SET SESSION AUTHORIZATION
CREATE TEXT SEARCH DICTIONARY SET TRANSACTION
CREATE TEXT SEARCH PARSER SHOW
CREATE TEXT SEARCH TEMPLATE START TRANSACTION
CREATE TRIGGER TABLE
CREATE TYPE TRUNCATE
CREATE USER UNLISTEN
CREATE USER MAPPING UPDATE
CREATE VIEW VACUUM
DEALLOCATE VALUES
DECLARE WITH
mydb=# \q
D:\pgsql>