在 PostreSQL 8.3 中,我试图创建一个视图,它看起来就像一个现有的表,但具有不同的列名。
这有效
CREATE OR REPLACE VIEW gfam.nice_builds AS
SELECT (family_tree.family_tree_id) as x,
family_tree.family_tree_name, family_tree.family_tree_description
FROM gfam.family_tree;
Run Code Online (Sandbox Code Playgroud)
以上复制了 family_tree 表,但以下尝试失败:
CREATE OR REPLACE VIEW gfam.nice_builds AS
SELECT (family_tree.family_tree_id) as x,
family_tree.family_tree_name, family_tree.family_tree_description
FROM gfam.family_tree;
Run Code Online (Sandbox Code Playgroud)
如何重命名列?
由于 varchar 占用的磁盘空间与字段的大小成正比,有什么理由我们不应该总是将 varchar 定义为最大值,例如varchar(8000)
在 SQL Server 上?
在创建表上,如果我看到有人在做varchar(100)
我应该告诉他们不你错了你应该做什么varchar(8000)
?
在 PostreSQL 中存储 UniProt 生物序列的最佳方法是什么?
回答 Jeremiah Peschka 的评论:
如果能够继续将以下散列函数(SEGUID - SEquence Globally Unique IDentifier)应用于序列,那就太好了。
CREATE OR REPLACE FUNCTION gfam.get_seguid(p_sequence character varying)
RETURNS character varying AS
$BODY$
declare
result varchar := null;
x integer; …
Run Code Online (Sandbox Code Playgroud) 我使用Git对我的大部分工作进行版本控制:代码、文档、系统配置。我能够做到这一点,因为我所有有价值的工作都存储为文本文件。
我也一直在为我们的 Postgres 数据库编写和处理很多 SQL 模式。该模式包括视图、SQL 函数,我们将用R编程语言(通过PL/R)编写 Postgres 函数。
我试图复制和过去我和我的合作者编写的块模式,但我忘记这样做了。复制和过去的动作是重复的并且容易出错。
pg_dump / pg_restore 方法将不起作用,因为它会丢失注释。
理想情况下,我希望有某种方法将我当前的模式提取到一个或多个文件中并保留注释,以便我可以进行版本控制。
带注释的版本控制架构的最佳实践是什么?