您当前的位置:首页 > 互联网教程

为什么postgresql新建数据库,失败

发布时间:2025-05-20 04:07:25    发布人:远客网络

为什么postgresql新建数据库,失败

一、为什么postgresql新建数据库,失败

cd Pledgee/再如:cd End-Position/

再如::~/snorkel/snorkel/contrib/fonduer/tutorials/End-Position$ cd data

创建数据库:sd为登陆机器的账号(postgres=#) create database zhiya_key_para_txt_pledge_num_unlimit owner sd;

pg_dump用于备份postgresql数据库,它可以在数据库运行时使用,pg_dump不会阻塞其他的用户访问数据库。

将数据库的东西转存到文件里:相当于copy数据库

pg_dump end_position_key_para> end_position_para_2018-03-29.dmp

之前的文件转到新建的数据库里:相当于恢复外部数据到数据库里

psql zhiya_key_para_txt_pledge_num_unlimit< end_position_para_2018-03-29.dmp

mv filename/.将文件移动到当前路径

psql zhiya_key_para_txt进入到数据库中的表zhiya_key_para_txt

zhiya_key_para_txt=> \dt查看该库中的所有表

zhiya_key_para_txt=> select count(*) from candidate;

zhiya_key_para_txt=> select count(*) from gold_label;

zhiya_key_para_txt=> \q退出psql

3、更新数据库中标错的质押人、质权人:

zhiya_key_para_txt=> select* from gold_label;

zhiya_key_para_txt=> select* from gold_label where candidate_id='33335';

zhiya_key_para_txt=> update gold_label set value=1 where candidate_id='33335';

zhiya_key_para_txt=> select* from gold_label where candidate_id='33335';

二、数据库软件的PSQL

PostgreSQL是最初的伯克利代码的一个开放源码的继承人。伯克利(BSD)对计算机科学的贡献可谓巨大,在整个计算机科学的发展史上,几乎到处都有这所学校的研究人员和学生的足迹。PostgreSQL支持大部分 SQL标准并且提供了许多其他现代特性:复杂查询、外键、触发器、视图、事务完整性、多版本并发控制。同样,PostgreSQL可以用许多方法扩展,比如,通过增加新的数据类型、函数、操作符、聚集函数、索引方法、过程语言。并且,因为许可证的灵活,任何人都可以以任何目的免费使用,修改,和分发 PostgreSQL,不管是私用,商用,还是学术研究使用。到了 1996年,我们很明显的看出Postgres95这个名字已经不能经得起时间的考验了。于是我们起了一个新名字 PostgreSQL用于反映最初的 POSTGRES和最新的使用 SQL的版本之间的关系。同时版本号也重新从 6.0开始,将版本号放回到最初的由伯克利 POSTGRES项目开始的顺序中。Postgres95版本的开发重点放在标明和理解现有的后端代码的问题上。 PostgreSQL开发重点转到了一些有争议的特性和功能上面,当然各个方面的工作同时都在进行。

现在被称为 PostgreSQL的对象-关系型数据库管理系统(有一段时间被称为 Postgres95)是从伯克利写的 POSTGRES软件包发展而来的。经过十几年的发展, PostgreSQL是世界上可以获得的最先进的开放源码的数据库系统,它提供了多版本并行控制,支持几乎所有 SQL构件(包括子查询,事务和用户定义类型和函数),并且可以获得非常广阔范围的(开发)语言绑定(包括 C,C++,Java,perl,tcl,和 python)。

Michael Stonebraker领导的 POSTGRES项目是由防务高级研究项目局(DARPA),陆军研究办公室(ARO),国家科学基金(NSF),以及 ESL, Inc共同赞助的。 POSTGRES的实现始于 1986年,该系统最初的概念详见 POSTGRES的设计。最早的数据模型定义见 The POSTGRES Data Model。当时的规则系统设计在 POSTGRES规则系统的设计里描述.存储管理器的理论基础和体系结构在 POSTGRES存储系统的设计里有详细描述。从那以后,POSTGRES经历了几次主要的版本更新。第一个演示性系统在 1987年便可使用了,并且在 1988年的 ACM-SIGMOD大会上展出。在 1989年六月发布了版本 1给一些外部的用户使用。为了回应用户对第一个规则系统的批评,作者重新设计了规则系统,并在1990年6月发布了使用新规则系统的版本 2。版本 3在1991年出现,增加了多存储管理器的支持,并且改进了查询执行器,重新编写了规则系统。从那以后,随后的版本直到 Postgres95发布前工作都集中在移植性和可靠性上。

POSTGRES已经在许多研究或实际的应用中得到了应用。这些应用包括:一个财务数据分析系统,一个喷气引擎性能监控软件包,一个小行星跟踪数据库,一个医疗信息数据库和一些地理信息系统。 POSTGRES还被许多大学用于教学用途。最后, Illustra Information Technologies Illustra Information Technologies(后来并入 Informix)后者现在属于 IBM)拿到代码并使之商业化。在 1992年末 POSTGRES成为 Sequoia 2000科学计算计划的首要数据管理器。

到了 1993年,外部用户的数量几乎翻番。随着用户的增加。用于源代码维护的时间日益增加占用了太多本应该用于数据库研究的时间,为了减少支持的负担,伯克利的POSTGRES项目在版本 4.2时正式终止。在1994年, Andrew Yu和 Jolly Chen向 POSTGRES中增加了 SQL语言的解释器。并随后将 Postgres95源代码发布到互联网上供大家使用,成为一个开放源码的,原先伯克利 POSTGRES代码的继承者。

Postgres95所有源代码都是完全的 ANSI C,而且代码量减少了 25%。并且有许多内部修改以利于提高性能和代码的维护性。 Postgres95版本 1.0.x在进行 Wisconsin Benchmark测试时大概比 POSTGRES v4.2快 30-50%。除了修正了一些错误,下面的是一些主要改进:原来的查询语言 PostQUEL被 SQL取代(在 server端实现)。在 PostgreSQL之前还不支持子查询)(但这个功能可以在 Postgres95里面由用户定义的 SQL函数实现)。重新实现了聚集。同时还增加了对 GROUP BY查询子句的支持。 C程序仍可以调用 libpq接口函数。

新增加了利用 GNU Readline进行交互 SQL查询(psql)。这个程序很大程度上取代了老的 monitor程序。增加了新的前端库, libpgtcl,用以支持以 Tcl为基础的客户端。一个样本 shell, pgtclsh,提供了新的 Tcl命令用于 Tcl程序和 Postgres95后端之间的交互。彻底重写了大对象的接口。保留了将大对象倒转(Inversion)作为存储大对象的唯一机制。(去掉了倒转(Inversion)文件系统。)去掉了记录级(instance-level)的规则系统。但我们仍然可以通过重写规则使用规则。

在发布的源码中增加了一个简短的常用 SQL和 Postgres95特有的 SQL特性的教程。用GNU make(取代了 BSD make)用于制作。 Postgres95可以使用不加补丁的 GCC(修正了偶数字节数据( doubles)的对齐问题)。文件数据库,多嵌入程序使用。

SQLite,是一款轻型的数据库,是遵守ACID的关联式数据库管理系统,它的设计目标是嵌入式的,而且目前已经在很多嵌入式产品中使用了它,它占用资源非常的低,在嵌入式设备中,可能只需要几百K的内存就够了。SQLite虽然很小巧,但是支持的SQL语句不会逊色于其他开源数据库,同时它还支持事务处理功能等等。