SQL 语句创建 postgresql 表

🌙
手机阅读
本文目录结构

语句如下

账户表创建

-- Table: public.accounts

-- DROP TABLE public.accounts;

CREATE TABLE public.accounts
(
    acc_id bigserial,
    account text COLLATE pg_catalog."default" NOT NULL,
    type smallint,
    balance numeric,
    transaction_count numeric,
    CONSTRAINT account_pkey PRIMARY KEY (account)
)
WITH (
    OIDS = FALSE
)
TABLESPACE pg_default;

COMMENT ON COLUMN public.accounts.account
    IS '账户地址';

COMMENT ON COLUMN public.accounts.type
    IS '账户类型(1普通账户、2合约账户)';

COMMENT ON COLUMN public.accounts.balance
    IS '余额,单位是Wei';
COMMENT ON COLUMN public.accounts.transaction_count
    IS '交易数量,该账户相关的交易数量';


-- Index: balance_accid_index

-- DROP INDEX public.balance_accid_index;

CREATE INDEX balance_accid_index
    ON public.accounts USING btree
    (balance, acc_id)
    TABLESPACE pg_default;

-- Index: balance_index

-- DROP INDEX public.balance_index;

CREATE INDEX balance_index
    ON public.accounts USING btree
    (balance)
    TABLESPACE pg_default;

COMMENT ON INDEX public.balance_index
    IS 'balance_index';

交易表创建

-- Table: public.transaction

-- DROP TABLE public.transaction;

CREATE TABLE public.transaction
(
    pkid bigserial,
    hash text COLLATE pg_catalog."default" NOT NULL,
    type numeric,
    "from" text COLLATE pg_catalog."default",
    "to" text COLLATE pg_catalog."default",
    amount numeric,
    previous text COLLATE pg_catalog."default",
    witness_list_block text COLLATE pg_catalog."default",
    last_summary text COLLATE pg_catalog."default",
    last_summary_block text COLLATE pg_catalog."default",
    "data" text COLLATE pg_catalog."default",
    exec_timestamp bigint,
    signature text COLLATE pg_catalog."default",
    is_free boolean,
    "level" bigint,
    witnessed_level bigint,
    best_parent text COLLATE pg_catalog."default",
    is_stable boolean,
    status numeric,
    is_on_mc boolean,
    mci bigint,
    latest_included_mci bigint,
    mc_timestamp bigint,
    stable_timestamp bigint,
    is_shown boolean,

    is_witness_account boolean,
    is_witness boolean,


    CONSTRAINT pkid_pkey PRIMARY KEY (pkid)
)
WITH (
    OIDS = FALSE
)
TABLESPACE pg_default;

COMMENT ON COLUMN public.transaction.hash
    IS '交易号';

COMMENT ON COLUMN public.transaction."from"
    IS '发款方';

COMMENT ON COLUMN public.transaction."to"
    IS '收款方';

COMMENT ON COLUMN public.transaction.amount
    IS '余额,单位是Wei';

COMMENT ON COLUMN public.transaction.previous
    IS '上一个交易号';

COMMENT ON COLUMN public.transaction.witness_list_block
    IS '见证人列表Block';

COMMENT ON COLUMN public.transaction.last_summary
    IS 'last_summary';

COMMENT ON COLUMN public.transaction.last_summary_block
    IS 'last_summary_block';

COMMENT ON COLUMN public.transaction."data"
    IS '数据';

COMMENT ON COLUMN public.transaction.exec_timestamp
    IS 'exec_timestamp';

COMMENT ON COLUMN public.transaction.signature
    IS '签名';

COMMENT ON COLUMN public.transaction.is_free
    IS 'is_free';

COMMENT ON COLUMN public.transaction."level"
    IS 'level';

COMMENT ON COLUMN public.transaction.witnessed_level
    IS 'witnessed_level';

COMMENT ON COLUMN public.transaction.best_parent
    IS 'best_parent';

COMMENT ON COLUMN public.transaction.is_stable
    IS 'is_stable';

 COMMENT ON COLUMN public.transaction.status
    IS 'status';

COMMENT ON COLUMN public.transaction.is_on_mc
    IS 'is_on_mc';

COMMENT ON COLUMN public.transaction.mci
    IS 'mci';

COMMENT ON COLUMN public.transaction.latest_included_mci
    IS 'latest_included_mci';

COMMENT ON COLUMN public.transaction.mc_timestamp
    IS 'mc_timestamp';


-- Index: from_index

-- DROP INDEX public.from_index;

CREATE INDEX from_index
    ON public.transaction USING btree
    ("from")
    TABLESPACE pg_default;

COMMENT ON INDEX public.from_index
    IS 'from_index';

-- Index: hash_index

-- DROP INDEX public.hash_index;

CREATE UNIQUE INDEX hash_index
    ON public.transaction USING btree
    (hash)
    TABLESPACE pg_default;

-- Index: is_shown_index

-- DROP INDEX public.is_shown_index;

CREATE INDEX is_shown_index
    ON public.transaction USING btree
    (is_shown)
    TABLESPACE pg_default;

-- Index: latest_transaction_index

-- DROP INDEX public.latest_transaction_index;

CREATE INDEX latest_transaction_index
    ON public.transaction USING btree
    (exec_timestamp, level, pkid)
    TABLESPACE pg_default;

COMMENT ON INDEX public.latest_transaction_index
    IS 'latest_transaction_index';

-- Index: to_index

-- DROP INDEX public.to_index;

CREATE INDEX to_index
    ON public.transaction USING btree
    ("to")
    TABLESPACE pg_default;

COMMENT ON INDEX public.to_index
    IS 'to_index';

-- Index: witness_transaction_index

-- DROP INDEX public.witness_transaction_index;

CREATE INDEX witness_transaction_index
    ON public.transaction USING btree
    (exec_timestamp, level, pkid)
    TABLESPACE pg_default    WHERE type = 1::numeric
;

COMMENT ON INDEX public.witness_transaction_index
    IS 'witness_transaction_index, exec_timestamp desc, level desc, pkid desc';

parent 表创建

-- Table: public.parents

-- DROP TABLE public.parents;

CREATE TABLE public.parents
(
    parents_id bigserial,
    item text COLLATE pg_catalog."default" NOT NULL,
    parent text COLLATE pg_catalog."default",
    CONSTRAINT parents_id_pkey PRIMARY KEY (parents_id),
    CONSTRAINT parents_item_parent_key UNIQUE (item, parent)
)
WITH (
    OIDS = FALSE
)
TABLESPACE pg_default;

COMMENT ON COLUMN public.parents.item
    IS '元素';

COMMENT ON COLUMN public.parents.parent
    IS 'parent';

witness 表的创建

-- Table: public.witness

-- DROP TABLE public.witness;

CREATE TABLE public.witness
(
    witness_id bigserial,
    item text COLLATE pg_catalog."default" NOT NULL,
    account text COLLATE pg_catalog."default",
    CONSTRAINT witness_id_pkey PRIMARY KEY (witness_id),
    CONSTRAINT witness_item_account_key UNIQUE (item, account)
)
WITH (
    OIDS = FALSE
)
TABLESPACE pg_default;

COMMENT ON COLUMN public.witness.item
IS '元素';

COMMENT ON COLUMN public.witness.account
IS 'account';

timestap 表的创建

-- Table: public.timestamp

-- DROP TABLE public.timestamp;

CREATE TABLE public.timestamp
(
    timestamp numeric,
    type bigint,
    count numeric,
    CONSTRAINT timestamp_key PRIMARY KEY (timestamp)
)
WITH (
    OIDS = FALSE
)
TABLESPACE pg_default;

COMMENT ON COLUMN public.timestamp.timestamp
    IS 'timestamp';

COMMENT ON COLUMN public.timestamp.type
    IS 'type';

COMMENT ON COLUMN public.timestamp.count
    IS 'count';

global

-- Table: public.global

-- DROP TABLE public.global;

CREATE TABLE public.global
(
    global_id bigserial,
    key text ,
    value numeric,
    CONSTRAINT global_id_key PRIMARY KEY (global_id)
)
WITH (
    OIDS = FALSE
)
TABLESPACE pg_default;

下面是废弃的表,无需创建的

MCI 表的数据

(这个已经移到 global 表了,不需要了)

-- Table: public.mci

-- DROP TABLE public.mci;

CREATE TABLE public.mci
(
    last_stable_mci numeric,
    last_mci numeric,
    CONSTRAINT last_stable_mci_key PRIMARY KEY (last_stable_mci)
)
WITH (
    OIDS = FALSE
)
TABLESPACE pg_default;

COMMENT ON COLUMN public.mci.last_stable_mci
    IS 'last_stable_mci';

COMMENT ON COLUMN public.mci.last_mci
    IS 'last_mci';

AXIHE / 精选资源

浏览全部教程

面试题

学习网站

前端培训
自己甄别

前端书籍

关于朱安邦

我叫 朱安邦,阿西河的站长,在杭州。

以前是一名平面设计师,后来开始接接触前端开发,主要研究前端技术中的JS方向。

业余时间我喜欢分享和交流自己的技术,欢迎大家关注我的 Bilibili

关注我: Github / 知乎

于2021年离开前端领域,目前重心放在研究区块链上面了

我叫朱安邦,阿西河的站长

目前在杭州从事区块链周边的开发工作,机械专业,以前从事平面设计工作。

2014年底脱产在老家自学6个月的前端技术,自学期间几乎从未出过家门,最终找到了满意的前端工作。更多>

于2021年离开前端领域,目前从事区块链方面工作了