Postgresの使い方

データベースの作成

シェルプロンプトでcreatdbコマンドを実行します。

$ createdb -U ユーザ名 データベース名

データベースの削除

シェルプロンプトでdropdbコマンドを実行します。

$ createdb -U ユーザ名 データベース名

対話式端末プログラムの起動

シェルプロンプトでpsqlコマンドを実行します。

$ psql -U ユーザ名 [データベース名]

PostgreSQLのバージョンの確認

psqlプロンプトで以下のSQLを実行します。

mydb=# select version();                                                                                                                                               
                                                  version                                                   
------------------------------------------------------------------------------------------------------------
 PostgreSQL 8.4.2 on i686-pc-linux-gnu, compiled by GCC gcc (GCC) 3.4.6 20060404 (Red Hat 3.4.6-10), 32-bit
(1 row)

現在日付の確認

psqlプロンプトで以下のSQLを実行します。

mydb=# select current_date;
    date    
------------
 2009-12-21
(1 row)

使用可能なSQLコマンドの一覧の表示

psqlプロンプトで\h内部コマンドを実行します。

mydb=# \h
Available help:
  ABORT                            ANALYZE                          CREATE TABLE                     DROP OPERATOR FAMILY             NOTIFY
  ALTER AGGREGATE                  BEGIN                            CREATE TABLE AS                  DROP OWNED                       PREPARE
  ALTER CONVERSION                 CHECKPOINT                       CREATE TABLESPACE                DROP ROLE                        PREPARE TRANSACTION
  ALTER DATABASE                   CLOSE                            CREATE TEXT SEARCH CONFIGURATION DROP RULE                        REASSIGN OWNED
  ALTER DOMAIN                     CLUSTER                          CREATE TEXT SEARCH DICTIONARY    DROP SCHEMA                      REINDEX
  ALTER FOREIGN DATA WRAPPER       COMMENT                          CREATE TEXT SEARCH PARSER        DROP SEQUENCE                    RELEASE SAVEPOINT
  ALTER FUNCTION                   COMMIT                           CREATE TEXT SEARCH TEMPLATE      DROP SERVER                      RESET
  ALTER GROUP                      COMMIT PREPARED                  CREATE TRIGGER                   DROP TABLE                       REVOKE
  ALTER INDEX                      COPY                             CREATE TYPE                      DROP TABLESPACE                  ROLLBACK
  ALTER LANGUAGE                   CREATE AGGREGATE                 CREATE USER                      DROP TEXT SEARCH CONFIGURATION   ROLLBACK PREPARED
  ALTER OPERATOR                   CREATE CAST                      CREATE USER MAPPING              DROP TEXT SEARCH DICTIONARY      ROLLBACK TO SAVEPOINT
  ALTER OPERATOR CLASS             CREATE CONSTRAINT TRIGGER        CREATE VIEW                      DROP TEXT SEARCH PARSER          SAVEPOINT
  ALTER OPERATOR FAMILY            CREATE CONVERSION                DEALLOCATE                       DROP TEXT SEARCH TEMPLATE        SELECT
  ALTER ROLE                       CREATE DATABASE                  DECLARE                          DROP TRIGGER                     SELECT INTO
  ALTER SCHEMA                     CREATE DOMAIN                    DELETE                           DROP TYPE                        SET
  ALTER SEQUENCE                   CREATE FOREIGN DATA WRAPPER      DISCARD                          DROP USER                        SET CONSTRAINTS
  ALTER SERVER                     CREATE FUNCTION                  DROP AGGREGATE                   DROP USER MAPPING                SET ROLE
  ALTER TABLE                      CREATE GROUP                     DROP CAST                        DROP VIEW                        SET SESSION AUTHORIZATION
  ALTER TABLESPACE                 CREATE INDEX                     DROP CONVERSION                  END                              SET TRANSACTION
  ALTER TEXT SEARCH CONFIGURATION  CREATE LANGUAGE                  DROP DATABASE                    EXECUTE                          SHOW
  ALTER TEXT SEARCH DICTIONARY     CREATE OPERATOR                  DROP DOMAIN                      EXPLAIN                          START TRANSACTION
  ALTER TEXT SEARCH PARSER         CREATE OPERATOR CLASS            DROP FOREIGN DATA WRAPPER        FETCH                            TABLE
  ALTER TEXT SEARCH TEMPLATE       CREATE OPERATOR FAMILY           DROP FUNCTION                    GRANT                            TRUNCATE
  ALTER TRIGGER                    CREATE ROLE                      DROP GROUP                       INSERT                           UNLISTEN
  ALTER TYPE                       CREATE RULE                      DROP INDEX                       LISTEN                           UPDATE
  ALTER USER                       CREATE SCHEMA                    DROP LANGUAGE                    LOAD                             VACUUM
  ALTER USER MAPPING               CREATE SEQUENCE                  DROP OPERATOR                    LOCK                             VALUES
  ALTER VIEW                       CREATE SERVER                    DROP OPERATOR CLASS              MOVE                             WITH

SQLコマンドの使い方を表示

psqlプロンプトで\h内部コマンドに続けてSQLコマンドを入力します。

mydb=# \h INSERT
Command:     INSERT
Description: create new rows in a table
Syntax:
INSERT INTO table [ ( column [, ...] ) ]
    { DEFAULT VALUES | VALUES ( { expression | DEFAULT } [, ...] ) [, ...] | query }
    [ RETURNING * | output_expression [ [ AS ] output_name ] [, ...] ]

psqlの終了

psqlプロンプトで\q内部コマンドを入力します。

\q

テーブルの作成

psqlプロンプトでCREATE TABLE文を実行します。

テーブルの削除

psqlプロンプトでDROP TABLE文を実行します。

テーブルからファイルへのデータの書き出し

psqlプロンプトでCOPY TO文を使用します。
なお、PostgresSQLの実行ユーザにファイルの書き込み権限が必要です。

COPY テーブル名 TO 'ファイル名'

ファイルからテーブルへのデータの読み込み

psqlプロンプトでCOPY FROM文を使用します。
なお、PostgresSQLの実行ユーザにファイルの読み込み権限が必要です。

COPY テーブル名 FROM 'ファイル名'