はじめに
にゃーん。
これはPostgreSQL Advent Calendar 2017の23日目の記事です。
昨日はMasahiko Sawadaさんに書いていただきました。
今日のお題
今日は技術的な話ではなく、PostgreSQLクロニクルみたいなネタです。たまにはこんな息抜きネタもいいよね?
PostgreSQLって結構たくさんのSQLコマンドがあるのですが、そういえば、「このSQLコマンドって、いつからサポートされているんだっけ?」みたいなことってありますよね?
今のPostgreSQL文書はこの辺がたどり易くはなっているのですが、さすがにバージョンごとのSQLコマンド一覧はないので、作ってみました。
バージョンごとのSQLコマンドサポート状況
つーか、表でかすぎ。
| コマンド名 | 7.1 | 7.2 | 7.3 | 7.4 | 8.0 | 8.1 | 8.2 | 8.3 | 8.4 | 9.0 | 9.1 | 9.2 | 9.3 | 9.4 | 9.5 | 9.6 | 10 | used? |
|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
| ABORT | ● | ● | ● | ● | ● | ● | ● | ● | ● | ● | ● | ● | ● | ● | ● | ● | ● | あり |
| ALTER AGGREGATE | ● | ● | ● | ● | ● | ● | ● | ● | ● | ● | ● | ● | ● | ● | あり | |||
| ALTER COLLATION | ● | ● | ● | ● | ● | ● | ● | なし | ||||||||||
| ALTER CONVERSION | ● | ● | ● | ● | ● | ● | ● | ● | ● | ● | ● | ● | ● | ● | なし | |||
| ALTER DATABASE | ● | ● | ● | ● | ● | ● | ● | ● | ● | ● | ● | ● | ● | ● | ● | あり | ||
| ALTER DEFAULT PRIVILEGES | ● | ● | ● | ● | ● | ● | ● | ● | なし | |||||||||
| ALTER DOMAIN | ● | ● | ● | ● | ● | ● | ● | ● | ● | ● | ● | ● | ● | ● | あり | |||
| ALTER EVENT TRIGGER | ● | ● | ● | ● | ● | あり | ||||||||||||
| ALTER EXTENSION | ● | ● | ● | ● | ● | ● | ● | あり | ||||||||||
| ALTER FOREIGN DATA WRAPPER | ● | ● | ● | ● | ● | ● | ● | ● | ● | あり | ||||||||
| ALTER FOREIGN TABLE | ● | ● | ● | ● | ● | ● | ● | あり | ||||||||||
| ALTER FUNCTION | ● | ● | ● | ● | ● | ● | ● | ● | ● | ● | ● | ● | ● | ● | あり | |||
| ALTER GROUP | ● | ● | ● | ● | ● | ● | ● | ● | ● | ● | ● | ● | ● | ● | ● | ● | ● | なし |
| ALTER INDEX | ● | ● | ● | ● | ● | ● | ● | ● | ● | ● | ● | ● | ● | あり | ||||
| ALTER LANGUAGE | ● | ● | ● | ● | ● | ● | ● | ● | ● | ● | ● | ● | ● | ● | なし | |||
| ALTER LARGE OBJECT | ● | ● | ● | ● | ● | ● | ● | ● | なし | |||||||||
| ALTER MATERIALIZED VIEW | ● | ● | ● | ● | ● | あり | ||||||||||||
| ALTER OPERATOR | ● | ● | ● | ● | ● | ● | ● | ● | ● | ● | ● | ● | ● | なし | ||||
| ALTER OPERATOR CLASS | ● | ● | ● | ● | ● | ● | ● | ● | ● | ● | ● | ● | ● | ● | なし | |||
| ALTER OPERATOR FAMILY | ● | ● | ● | ● | ● | ● | ● | ● | ● | ● | なし | |||||||
| ALTER POLICY | ● | ● | ● | なし | ||||||||||||||
| ALTER PUBLICATION | ● | あり | ||||||||||||||||
| ALTER ROLE | ● | ● | ● | ● | ● | ● | ● | ● | ● | ● | ● | ● | あり | |||||
| ALTER RULE | ● | ● | ● | ● | ● | なし | ||||||||||||
| ALTER SCHEMA | ● | ● | ● | ● | ● | ● | ● | ● | ● | ● | ● | ● | ● | ● | あり | |||
| ALTER SEQUENCE | ● | ● | ● | ● | ● | ● | ● | ● | ● | ● | ● | ● | ● | ● | あり | |||
| ALTER SERVER | ● | ● | ● | ● | ● | ● | ● | ● | ● | あり | ||||||||
| ALTER STATISTICS | ● | なし | ||||||||||||||||
| ALTER SUBSCRIPTION | ● | なし | ||||||||||||||||
| ALTER SYSTEM | ● | ● | ● | ● | あり | |||||||||||||
| ALTER TABLE | ● | ● | ● | ● | ● | ● | ● | ● | ● | ● | ● | ● | ● | ● | ● | ● | ● | あり |
| ALTER TABLESPACE | ● | ● | ● | ● | ● | ● | ● | ● | ● | ● | ● | ● | ● | あり | ||||
| ALTER TEXT SEARCH CONFIGURATION | ● | ● | ● | ● | ● | ● | ● | ● | ● | ● | なし | |||||||
| ALTER TEXT SEARCH DICTIONARY | ● | ● | ● | ● | ● | ● | ● | ● | ● | ● | なし | |||||||
| ALTER TEXT SEARCH PARSER | ● | ● | ● | ● | ● | ● | ● | ● | ● | ● | なし | |||||||
| ALTER TEXT SEARCH TEMPLATE | ● | ● | ● | ● | ● | ● | ● | ● | ● | ● | なし | |||||||
| ALTER TRIGGER | ● | ● | ● | ● | ● | ● | ● | ● | ● | ● | ● | ● | ● | ● | ● | あり | ||
| ALTER TYPE | ● | ● | ● | ● | ● | ● | ● | ● | ● | ● | ● | ● | ● | ● | ● | ● | ● | あり |
| ALTER USER | ● | ● | ● | ● | ● | ● | ● | ● | ● | ● | ● | ● | ● | あり | ||||
| ALTER USER MAPPING | ● | ● | ● | ● | ● | ● | ● | ● | ● | あり | ||||||||
| ALTER VIEW | ● | ● | ● | ● | ● | ● | ● | ● | ● | ● | ● | ● | ● | ● | ● | ● | ● | あり |
| ANALYZE | ● | ● | ● | ● | ● | ● | ● | ● | ● | ● | ● | ● | ● | ● | ● | ● | あり | |
| BEGIN | ● | ● | ● | ● | ● | ● | ● | ● | ● | ● | ● | ● | ● | ● | ● | ● | ● | あり |
| CHECKPOINT | ● | ● | ● | ● | ● | ● | ● | ● | ● | ● | ● | ● | ● | ● | ● | ● | ● | あり |
| CLOSE | ● | ● | ● | ● | ● | ● | ● | ● | ● | ● | ● | ● | ● | ● | ● | ● | ● | あり |
| CLUSTER | ● | ● | ● | ● | ● | ● | ● | ● | ● | ● | ● | ● | ● | ● | ● | ● | ● | あり |
| COMMENT | ● | ● | ● | ● | ● | ● | ● | ● | ● | ● | ● | ● | ● | ● | ● | ● | ● | あり |
| COMMIT | ● | ● | ● | ● | ● | ● | ● | ● | ● | ● | ● | ● | ● | ● | ● | ● | ● | あり |
| COMMIT PREPARED | ● | ● | ● | ● | ● | ● | ● | ● | ● | ● | ● | ● | あり | |||||
| COPY | ● | ● | ● | ● | ● | ● | ● | ● | ● | ● | ● | ● | ● | ● | ● | ● | ● | あり |
| CREATE ACCESS METHOD | ● | ● | なし | |||||||||||||||
| CREATE AGGREGATE | ● | ● | ● | ● | ● | ● | ● | ● | ● | ● | ● | ● | ● | ● | ● | ● | ● | あり |
| CREATE CAST | ● | ● | ● | ● | ● | ● | ● | ● | ● | ● | ● | ● | ● | ● | ● | あり | ||
| CREATE COLLATION | ● | ● | ● | ● | ● | ● | ● | なし | ||||||||||
| CREATE CONSTRAINT TRIGGER | ● | ● | ● | ● | ● | ● | ● | ● | ● | ● | なし | |||||||
| CREATE CONVERSION | ● | ● | ● | ● | ● | ● | ● | ● | ● | ● | ● | ● | ● | ● | ● | なし | ||
| CREATE DATABASE | ● | ● | ● | ● | ● | ● | ● | ● | ● | ● | ● | ● | ● | ● | ● | ● | ● | あり |
| CREATE DOMAIN | ● | ● | ● | ● | ● | ● | ● | ● | ● | ● | ● | ● | ● | ● | ● | あり | ||
| CREATE EVENT TRIGGER | ● | ● | ● | ● | ● | あり | ||||||||||||
| CREATE EXTENSION | ● | ● | ● | ● | ● | ● | ● | あり | ||||||||||
| CREATE FOREIGN DATA WRAPPER | ● | ● | ● | ● | ● | ● | ● | ● | ● | あり | ||||||||
| CREATE FOREIGN TABLE | ● | ● | ● | ● | ● | ● | ● | あり | ||||||||||
| CREATE FUNCTION | ● | ● | ● | ● | ● | ● | ● | ● | ● | ● | ● | ● | ● | ● | ● | ● | ● | あり |
| CREATE GROUP | ● | ● | ● | ● | ● | ● | ● | ● | ● | ● | ● | ● | ● | ● | ● | ● | ● | あり |
| CREATE INDEX | ● | ● | ● | ● | ● | ● | ● | ● | ● | ● | ● | ● | ● | ● | ● | ● | ● | あり |
| CREATE LANGUAGE | ● | ● | ● | ● | ● | ● | ● | ● | ● | ● | ● | ● | ● | ● | ● | ● | ● | あり |
| CREATE MATERIALIZED VIEW | ● | ● | ● | ● | ● | あり | ||||||||||||
| CREATE OPERATOR | ● | ● | ● | ● | ● | ● | ● | ● | ● | ● | ● | ● | ● | ● | ● | ● | ● | あり |
| CREATE OPERATOR CLASS | ● | ● | ● | ● | ● | ● | ● | ● | ● | ● | ● | ● | ● | ● | ● | あり | ||
| CREATE OPERATOR FAMILY | ● | ● | ● | ● | ● | ● | ● | ● | ● | ● | なし | |||||||
| CREATE POLICY | ● | ● | ● | あり | ||||||||||||||
| CREATE PUBLICATION | ● | あり | ||||||||||||||||
| CREATE ROLE | ● | ● | ● | ● | ● | ● | ● | ● | ● | ● | ● | ● | あり | |||||
| CREATE RULE | ● | ● | ● | ● | ● | ● | ● | ● | ● | ● | ● | ● | ● | ● | ● | ● | ● | あり |
| CREATE SCHEMA | ● | ● | ● | ● | ● | ● | ● | ● | ● | ● | ● | ● | ● | ● | ● | あり | ||
| CREATE SEQUENCE | ● | ● | ● | ● | ● | ● | ● | ● | ● | ● | ● | ● | ● | ● | ● | ● | ● | あり |
| CREATE SERVER | ● | ● | ● | ● | ● | ● | ● | ● | ● | あり | ||||||||
| CREATE STATISTICS | ● | なし | ||||||||||||||||
| CREATE SUBSCRIPTION | ● | あり | ||||||||||||||||
| CREATE TABLE | ● | ● | ● | ● | ● | ● | ● | ● | ● | ● | ● | ● | ● | ● | ● | ● | ● | あり |
| CREATE TABLE AS | ● | ● | ● | ● | ● | ● | ● | ● | ● | ● | ● | ● | ● | ● | ● | ● | ● | あり |
| CREATE TABLESPACE | ● | ● | ● | ● | ● | ● | ● | ● | ● | ● | ● | ● | ● | あり | ||||
| CREATE TEXT SEARCH CONFIGURATION | ● | ● | ● | ● | ● | ● | ● | ● | ● | ● | あり | |||||||
| CREATE TEXT SEARCH DICTIONARY | ● | ● | ● | ● | ● | ● | ● | ● | ● | ● | あり | |||||||
| CREATE TEXT SEARCH PARSER | ● | ● | ● | ● | ● | ● | ● | ● | ● | ● | あり | |||||||
| CREATE TEXT SEARCH TEMPLATE | ● | ● | ● | ● | ● | ● | ● | ● | ● | ● | あり | |||||||
| CREATE TRANSFORM | ● | ● | ● | なし | ||||||||||||||
| CREATE TRIGGER | ● | ● | ● | ● | ● | ● | ● | ● | ● | ● | ● | ● | ● | ● | ● | ● | ● | あり |
| CREATE TYPE | ● | ● | ● | ● | ● | ● | ● | ● | ● | ● | ● | ● | ● | ● | ● | ● | ● | あり |
| CREATE USER | ● | ● | ● | ● | ● | ● | ● | ● | ● | ● | ● | ● | ● | ● | ● | ● | ● | あり |
| CREATE USER MAPPING | ● | ● | ● | ● | ● | ● | ● | ● | ● | あり | ||||||||
| CREATE VIEW | ● | ● | ● | ● | ● | ● | ● | ● | ● | ● | ● | ● | ● | ● | ● | ● | ● | あり |
| DEALLOCATE | ● | ● | ● | ● | ● | ● | ● | ● | ● | ● | ● | ● | ● | ● | ● | あり | ||
| DECLARE | ● | ● | ● | ● | ● | ● | ● | ● | ● | ● | ● | ● | ● | ● | ● | ● | ● | あり |
| DELETE | ● | ● | ● | ● | ● | ● | ● | ● | ● | ● | ● | ● | ● | ● | ● | ● | ● | あり |
| DISCARD | ● | ● | ● | ● | ● | ● | ● | ● | ● | ● | あり | |||||||
| DO | ● | ● | ● | ● | ● | ● | ● | ● | あり | |||||||||
| DROP ACCESS METHOD | ● | ● | ● | ● | ● | ● | ● | ● | ● | ● | ● | ● | ● | ● | ● | ● | ● | なし |
| DROP AGGREGATE | ● | ● | ● | ● | ● | ● | ● | ● | ● | ● | ● | ● | ● | ● | ● | ● | ● | あり |
| DROP CAST | ● | ● | ● | ● | ● | ● | ● | ● | ● | ● | ● | ● | ● | ● | ● | あり | ||
| DROP COLLATION | ● | ● | ● | ● | ● | ● | ● | ● | ● | ● | ● | ● | ● | ● | ● | ● | ● | なし |
| DROP CONVERSION | ● | ● | ● | ● | ● | ● | ● | ● | ● | ● | ● | ● | ● | ● | ● | なし | ||
| DROP DATABASE | ● | ● | ● | ● | ● | ● | ● | ● | ● | ● | ● | ● | ● | ● | ● | ● | ● | あり |
| DROP DOMAIN | ● | ● | ● | ● | ● | ● | ● | ● | ● | ● | ● | ● | ● | ● | ● | あり | ||
| DROP EVENT TRIGGER | ● | ● | ● | ● | ● | あり | ||||||||||||
| DROP EXTENSION | ● | ● | ● | ● | ● | ● | ● | あり | ||||||||||
| DROP FOREIGN DATA WRAPPER | ● | ● | ● | ● | ● | ● | ● | ● | ● | ● | ● | ● | ● | ● | ● | ● | ● | あり |
| DROP FOREIGN TABLE | ● | ● | ● | ● | ● | ● | ● | あり | ||||||||||
| DROP FUNCTION | ● | ● | ● | ● | ● | ● | ● | ● | ● | ● | ● | ● | ● | ● | ● | ● | ● | あり |
| DROP GROUP | ● | ● | ● | ● | ● | ● | ● | ● | ● | ● | ● | ● | ● | ● | ● | ● | ● | あり |
| DROP INDEX | ● | ● | ● | ● | ● | ● | ● | ● | ● | ● | ● | ● | ● | ● | ● | ● | ● | あり |
| DROP LANGUAGE | ● | ● | ● | ● | ● | ● | ● | ● | ● | ● | ● | ● | ● | ● | ● | ● | ● | あり |
| DROP MATERIALIZED VIEW | ● | ● | ● | ● | ● | あり | ||||||||||||
| DROP OPERATOR | ● | ● | ● | ● | ● | ● | ● | ● | ● | ● | ● | ● | ● | ● | ● | ● | ● | あり |
| DROP OPERATOR CLASS | ● | ● | ● | ● | ● | ● | ● | ● | ● | ● | ● | ● | ● | ● | ● | あり | ||
| DROP OPERATOR FAMILY | ● | ● | ● | ● | ● | ● | ● | ● | ● | ● | なし | |||||||
| DROP OWNED | ● | ● | ● | ● | ● | ● | ● | ● | ● | ● | ● | なし | ||||||
| DROP POLICY | ● | ● | ● | あり | ||||||||||||||
| DROP PUBLICATION | ● | あり | ||||||||||||||||
| DROP ROLE | ● | ● | ● | ● | ● | ● | ● | ● | ● | ● | ● | ● | あり | |||||
| DROP RULE | ● | ● | ● | ● | ● | ● | ● | ● | ● | ● | ● | ● | ● | ● | ● | ● | ● | あり |
| DROP SCHEMA | ● | ● | ● | ● | ● | ● | ● | ● | ● | ● | ● | ● | ● | ● | ● | あり | ||
| DROP SEQUENCE | ● | ● | ● | ● | ● | ● | ● | ● | ● | ● | ● | ● | ● | ● | ● | ● | ● | あり |
| DROP SERVER | ● | ● | ● | ● | ● | ● | ● | ● | ● | ● | ● | ● | ● | ● | ● | ● | ● | あり |
| DROP STATISTICS | ● | なし | ||||||||||||||||
| DROP SUBSCRIPTION | ● | あり | ||||||||||||||||
| DROP TABLE | ● | ● | ● | ● | ● | ● | ● | ● | ● | ● | ● | ● | ● | ● | ● | ● | ● | あり |
| DROP TABLESPACE | ● | ● | ● | ● | ● | ● | ● | ● | ● | ● | ● | ● | ● | ● | ● | ● | ● | あり |
| DROP TEXT SEARCH CONFIGURATION | ● | ● | ● | ● | ● | ● | ● | ● | ● | ● | なし | |||||||
| DROP TEXT SEARCH DICTIONARY | ● | ● | ● | ● | ● | ● | ● | ● | ● | ● | なし | |||||||
| DROP TEXT SEARCH PARSER | ● | ● | ● | ● | ● | ● | ● | ● | ● | ● | なし | |||||||
| DROP TEXT SEARCH TEMPLATE | ● | ● | ● | ● | ● | ● | ● | ● | ● | ● | なし | |||||||
| DROP TRANSFORM | ● | ● | ● | なし | ||||||||||||||
| DROP TRIGGER | ● | ● | ● | ● | ● | ● | ● | ● | ● | ● | ● | ● | ● | ● | ● | ● | ● | あり |
| DROP TYPE | ● | ● | ● | ● | ● | ● | ● | ● | ● | ● | ● | ● | ● | ● | ● | ● | ● | あり |
| DROP USER | ● | ● | ● | ● | ● | ● | ● | ● | ● | ● | ● | ● | ● | ● | ● | ● | ● | あり |
| DROP USER MAPPING | ● | ● | ● | ● | ● | ● | ● | ● | ● | ● | ● | ● | ● | ● | ● | ● | ● | あり |
| DROP VIEW | ● | ● | ● | ● | ● | ● | ● | ● | ● | ● | ● | ● | ● | ● | ● | ● | ● | あり |
| END | ● | ● | ● | ● | ● | ● | ● | ● | ● | ● | ● | ● | ● | ● | ● | ● | ● | あり |
| EXECUTE | ● | ● | ● | ● | ● | ● | ● | ● | ● | ● | ● | ● | ● | ● | ● | あり | ||
| EXPLAIN | ● | ● | ● | ● | ● | ● | ● | ● | ● | ● | ● | ● | ● | ● | ● | ● | ● | あり |
| FETCH | ● | ● | ● | ● | ● | ● | ● | ● | ● | ● | ● | ● | ● | ● | ● | ● | ● | あり |
| GRANT | ● | ● | ● | ● | ● | ● | ● | ● | ● | ● | ● | ● | ● | ● | ● | ● | ● | あり |
| IMPORT FOREIGN SCHEMA | ● | ● | ● | あり | ||||||||||||||
| INSERT | ● | ● | ● | ● | ● | ● | ● | ● | ● | ● | ● | ● | ● | ● | ● | ● | ● | あり |
| LISTEN | ● | ● | ● | ● | ● | ● | ● | ● | ● | ● | ● | ● | ● | ● | ● | ● | ● | あり |
| LOAD | ● | ● | ● | ● | ● | ● | ● | ● | ● | ● | ● | ● | ● | ● | ● | ● | ● | あり |
| LOCK | ● | ● | ● | ● | ● | ● | ● | ● | ● | ● | ● | ● | ● | ● | ● | ● | ● | あり |
| MOVE | ● | ● | ● | ● | ● | ● | ● | ● | ● | ● | ● | ● | ● | ● | ● | ● | ● | なし |
| NOTIFY | ● | ● | ● | ● | ● | ● | ● | ● | ● | ● | ● | ● | ● | ● | ● | ● | ● | あり |
| PREPARE | ● | ● | ● | ● | ● | ● | ● | ● | ● | ● | ● | ● | ● | ● | ● | あり | ||
| PREPARE TRANSACTION | ● | ● | ● | ● | ● | ● | ● | ● | ● | ● | ● | ● | あり | |||||
| REASSIGN OWNED | ● | ● | ● | ● | ● | ● | ● | ● | ● | ● | ● | あり | ||||||
| REFRESH MATERIALIZED VIEW | ● | ● | ● | ● | ● | あり | ||||||||||||
| REINDEX | ● | ● | ● | ● | ● | ● | ● | ● | ● | ● | ● | ● | ● | ● | ● | ● | ● | あり |
| RELEASE SAVEPOINT | ● | ● | ● | ● | ● | ● | ● | ● | ● | ● | ● | ● | ● | あり | ||||
| RESET | ● | ● | ● | ● | ● | ● | ● | ● | ● | ● | ● | ● | ● | ● | ● | ● | ● | あり |
| REVOKE | ● | ● | ● | ● | ● | ● | ● | ● | ● | ● | ● | ● | ● | ● | ● | ● | ● | あり |
| ROLLBACK | ● | ● | ● | ● | ● | ● | ● | ● | ● | ● | ● | ● | ● | ● | ● | ● | ● | あり |
| ROLLBACK PREPARED | ● | ● | ● | ● | ● | ● | ● | ● | ● | ● | ● | ● | あり | |||||
| ROLLBACK TO SAVEPOINT | ● | ● | ● | ● | ● | ● | ● | ● | ● | ● | ● | ● | ● | あり | ||||
| SAVEPOINT | ● | ● | ● | ● | ● | ● | ● | ● | ● | ● | ● | ● | ● | あり | ||||
| SECURITY LABEL | ● | ● | ● | ● | ● | ● | ● | なし | ||||||||||
| SELECT | ● | ● | ● | ● | ● | ● | ● | ● | ● | ● | ● | ● | ● | ● | ● | ● | ● | あり |
| SELECT INTO | ● | ● | ● | ● | ● | ● | ● | ● | ● | ● | ● | ● | ● | ● | ● | ● | ● | あり |
| SET | ● | ● | ● | ● | ● | ● | ● | ● | ● | ● | ● | ● | ● | ● | ● | ● | ● | あり |
| SET CONSTRAINTS | ● | ● | ● | ● | ● | ● | ● | ● | ● | ● | ● | ● | ● | ● | ● | ● | ● | あり |
| SET ROLE | ● | ● | ● | ● | ● | ● | ● | ● | ● | ● | ● | ● | あり | |||||
| SET SESSION AUTHORIZATION | ● | ● | ● | ● | ● | ● | ● | ● | ● | ● | ● | ● | ● | ● | ● | ● | あり | |
| SET TRANSACTION | ● | ● | ● | ● | ● | ● | ● | ● | ● | ● | ● | ● | ● | ● | ● | ● | ● | あり |
| SHOW | ● | ● | ● | ● | ● | ● | ● | ● | ● | ● | ● | ● | ● | ● | ● | ● | ● | あり |
| START TRANSACTION | ● | ● | ● | ● | ● | ● | ● | ● | ● | ● | ● | ● | ● | ● | ● | ● | ● | あり |
| TRUNCATE | ● | ● | ● | ● | ● | ● | ● | ● | ● | ● | ● | ● | ● | ● | ● | ● | ● | あり |
| UNLISTEN | ● | ● | ● | ● | ● | ● | ● | ● | ● | ● | ● | ● | ● | ● | ● | ● | ● | あり |
| UPDATE | ● | ● | ● | ● | ● | ● | ● | ● | ● | ● | ● | ● | ● | ● | ● | ● | ● | あり |
| VACUUM | ● | ● | ● | ● | ● | ● | ● | ● | ● | ● | ● | ● | ● | ● | ● | ● | ● | あり |
| VALUES | ● | ● | ● | ● | ● | ● | ● | ● | ● | ● | ● | あり |
- お、こんなコマンドがこんな古いバージョンから存在していたのかー、とか
-
CREATE TYPEとかは、ほんと初期から存在していたんだねー。 - 最初からLISTEN/NOTIFYがあるとは・・・
-
- このコマンドが存在しないときもあったのかー、とか
- 7.1では
ANALYZEコマンドなかったのね。
- 7.1では
- 途中から削除されたSQLコマンドもあったのか!とか
-
CREATE CONSTRAINT TRIGGERコマンドは9.1から消えたっぽい。
-
まあ、そんなことを思いながら楽しく表をつくってました。
自分が使い出したのはPostgreSQL 7.4の頃からだけど、まだまだこの頃はいろんな機能がなかったんだなあと、しみじみ。
バージョンごとのSQLコマンド数
せっかくなのでバージョンごとのSQLコマンド数のグラフも無駄に作ってみた。
7.1のころから比べるとおよそ100個ほどSQLコマンドが増えているのだなあ。ちょい驚き。こんだけSQLコマンドがあると、結構使わないコマンドも多いんだよなあ。
特にEXTENSIONとかを作ったり組み込んだりしないと、まず使うことのないコマンドもPostgreSQLには多い。
で、さっきの表の右端に(used?)という列を入れて、自分が過去に使ったことがありそうなもの、なさそうなものを書いてみた。
自分の場合、拡張機能で遊んでみたり、実案件とは関係ない検証とかもするので、140個くらいのコマンドはたぶん使ったことはあるが、それでも残り40個くらいのコマンドは使ったことがない。
果たして今後、使う機会はあるのだろうか・・・
おわりに
明日はsho_kawaraさんの記事です。楽しみですね!
