pgsql包含字段
Posted
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了pgsql包含字段相关的知识,希望对你有一定的参考价值。
PostgreSQL包含以下字段:1. 数据类型:整数、浮点数、字符串、日期/时间、布尔值、大对象(BLOB)、数组、复合类型、自定义类型等。
2. 索引:B树、哈希、GiST、SP-GiST、GIN等。
3. 函数:内置函数、自定义函数、聚合函数、触发器函数等。
4. 视图:普通视图、索引视图、触发器视图等。
5. 权限:用户权限、表 参考技术A PostgreSQL数据库的表可以包含使用多种类型的字段,包括int、varchar、date、timestamp、boolean和bytea等。 参考技术B mysql和PostgreSQL/pgsql中查询指定表指定字段的默认值写代码时,需要给实体类赋值,
Firebird - PGSQL 中的串行字段? [复制]
【中文标题】Firebird - PGSQL 中的串行字段? [复制]【英文标题】:Firebird - serial field as in PGSQL? [duplicate] 【发布时间】:2013-03-26 11:23:09 【问题描述】:PGSQL 支持“串行”字段类型,转换为:
colname integer DEFAULT nextval('tablename_colname_seq') NOT NULL
这使得标识符的生成非常容易。
在 Firebird 中,我只看到了基于触发器的解决方案。
是否可以在 Firebird 中使用相同的解决方案来避免为每个表创建触发器?
colname integer DEFAULT gen_id(generator, 1)
我现在没有安装 Firebird 版本来检查它,但也许有人知道答案。
或者我可以为此使用“我的功能”吗? 伪:
create function mygenid(genname) returns integer
begin
return gen_id(genname);
end;
create table x(
colname integer DEFAULT mygenid(generator, 1)
【问题讨论】:
为什么要避免触发器? 【参考方案1】:Firebird 2.5 及更早版本仅支持生成 id 的触发器。 Firebird 3.0 引入了一个选项,可以在 DDL 表中使用generated by default as identity
指定它:
create table objects (
id integer generated by default as identity primary key,
name varchar(15)
);
这是为您创建触发器和相关序列的语法糖。
【讨论】:
谢谢!这很有趣,因为布尔字段只会出现在 FB3 中……但是什么时候发布呢? @durumdara 我不知道 Firebird 3 什么时候发布。它仍在开发中,第一个 alpha 版本尚未发布。以上是关于pgsql包含字段的主要内容,如果未能解决你的问题,请参考以下文章