Questions tagged «postgresql»

PostgreSQL的所有版本。如果该上下文很重要,请添加其他特定于版本的标记,例如postgresql-11。


3
使用SUM()两次不是最佳选择?
我知道我必须写SUM两次,如果我想在HAVING子句中使用它(否则要使用派生表): SELECT id, sum(hours) AS totalhours FROM mytable GROUP BY id HAVING sum(hours) > 50; 我现在的问题是,这是否不是最理想的。作为程序员,该查询看起来像数据库将两次计算总和。是这样,还是我应该依靠数据库引擎为我做的优化? 更新:对类似查询的解释: postgres=> explain select sum(counttodo) from orderline group by orderlineid having sum(counttodo) > 100; QUERY PLAN -------------------------------------------------------------------- HashAggregate (cost=1.31..1.54 rows=18 width=8) Filter: (sum(counttodo) > 100) -> Seq Scan on orderline (cost=0.00..1.18 rows=18 width=8) (3 …

2
交易,参考资料以及如何执行双重记账?(PG)
两次入境簿记是 一套用于在财务会计系统中记录财务信息的规则,其中每个交易或事件都会更改至少两个不同的名义分类帐。 帐户可以是“借方”或“贷方”,所有贷方的总和必须等于所有借方的总和。 您将如何在Postgres数据库中实现这一点?指定以下DDL: CREATE TABLE accounts( account_id serial NOT NULL PRIMARY KEY, account_name varchar(64) NOT NULL ); CREATE TABLE transactions( transaction_id serial NOT NULL PRIMARY KEY, transaction_date date NOT NULL ); CREATE TABLE transactions_details( id serial8 NOT NULL PRIMARY KEY, transaction_id integer NOT NULL REFERENCES transactions (transaction_id) ON UPDATE …

1
是否有Postgres管理员GUI可以执行包含多个sql文件的主文件
我正在编写一个很长的脚本。我想将脚本分解为更小,更易于管理的脚本,并将每个sql文件包含在主文件中,然后仅执行主文件。 例: master.sql 内容(我不知道使用的语法): file1.sql file2.sql file3.sql 我已经找到了一些有关psql -f在命令行中使用并\i包含这些文件的教程,但是这里的首选是避免终端,并使用GUI来管理我的数据库并执行master.sql脚本。 在任何postgres管理GUI中都可以吗?大概不在 pgAdmin中。

1
在PL / pgSQL中声明表类型的变量
我想知道是否有一种方法可以在PL / pgSQL中声明类型表的变量来保存查询结果?例如,我如何表达这样的东西: q1 = select * from foo; q2 = select * from bar; for t1 in q1: for t2 in q2: -- do something with t1 and t2 我研究了return next构造,但似乎只能处理返回值。

3
如何将带有数组字段的表类型传递给Postgresql中的函数
我有一张桌子叫书 CREATE TABLE book ( id smallint NOT NULL DEFAULT 0, bname text, btype text, bprices numeric(11,2)[], CONSTRAINT key PRIMARY KEY (id ) ) 和一个功能save_book CREATE OR REPLACE FUNCTION save_book(thebook book) RETURNS text AS $BODY$ DECLARE myoutput text :='Nothing has occured'; BEGIN update book set bname=thebook.bname, btype=thebook.btype,bprices=thebook.bprices WHERE id=thebook.id; IF …

2
使用\ copy时在psql中进行变量替换
我正在使用psql命令\ copy,我想像在编写查询脚本时一样,从外壳(用于表名)向其传递变量。我已经阅读了psql的文档: 该命令的语法与SQL COPY命令的语法相似。请注意,因此,特殊的解析规则适用于\ copy命令。特别是,变量替换规则和反斜杠转义不适用。 这似乎很确定,但是我想知道是否有人知道解决方法?

1
NVARCHAR列上的相等查询在SQL Server 2012中产生多个结果
我正在将一个宠物项目从PostgreSQL(9.2.2)移到SQL Server(2012 Standard)。 查询unicode字词时,我注意到了一个有趣的现象。给定定义: CREATE TABLE [word]( [id] [int] IDENTITY(0,1) NOT NULL, [value] [nvarchar](255) NULL ); 和数据: insert into word (value) values (N'ῥύπῳ'); insert into word (value) values (N'ἀπὸ'); insert into word (value) values (N'ἀπό'); insert into word (value) values (N'ἐπὶ'); insert into word (value) values (N'ἐπί'); insert into word …

1
Postgres 9.2的流复制如何处理模式更改和初始表设置?
我想在物理服务器上建立备份数据库,该服务器位于我的主物理数据库服务器下。我正在使用Postgres 9.2,并且想使用同步流复制(出于原子性),但是我完全不知道类似的事情,A)初始表设置是从服务器1转移到服务器2的(例如,我运行syncdb从我的Django应用程序中,该应用程序在服务器1上创建了一系列表,以及B)如何将模式的持续变化从服务器1携带到服务器2(例如,我运行Django South迁移,该迁移发送ALTER TABLE查询以及添加/删除索引等)。这些事情是通过流复制透明地处理的,还是我需要做一些事情来影响两台服务器之间的更改?

1
安装PostgreSQL所需的权限
我是PostgreSQL数据库的新手。我需要将其安装在我的机器上。 我不是系统管理员。 如果非管理员可以安装,可以有人建议。 如果除了.exe以外,还有其他安装方式,请告诉我。 提前致谢。

1
设置PostgreSQL记录所有语句对性能的影响
Windows 7 64位上的PostgreSQL 9.2.2。 设置log_statement在postgresql.conf文件中指定的语句记录哪些(无,DDL,修改数据,或全部)。设置在多大程度上log_statement = 'all'降低性能?我已经读到这会显着降低性能,但是这些主张来自于较早的文章,所以相对于我,我应该期望多少性能损失log_statement = 'none'?


2
如何等待PostgreSQL可启动/可恢复?
我正在运行自定义Linux发行版的虚拟机上测试将PostgreSQL 8.2.1升级到9.2。升级过程如下: 启动pg服务 清理所有数据库(不确定是否需要这样做) 备份 pg_dumpall 停止pg服务 移出存储数据的目录(/var/pg;这是一个简单的单服务器设置) 安装PostgreSQL 9.2 initdb 启动服务器 恢复转储的数据 reindexdb 所有数据库 重新创建referential_constraints视图 清理所有数据库(此升级后需要AFAIK) 此过程在一台主机上正常运行,可以毫无问题地进行备份和还原。在另一台具有不同数据库的机器上,从1到7的点可以正常工作,但是除非添加sleep 1after initdb,否则服务器将无法启动,即使那样,由于“数据库系统正在启动”,因此无法还原转储的数据。除了这些可怕的骇客之外,有什么标准的方法可以解决此问题: sleep在进行任何一项操作之前要花一些时间, 循环播放,直到它起作用或达到足够的超时,或者 循环直到它接受一个琐碎的查询或达到超时。 编辑:“ 解决方案 ”根本没有用。如何确定数据库已准备好运行还原?

2
PostgreSQL的高可用性
我是PostgreSQL数据库的新手。最近,我们的开发人员需要对我们的系统进行一些升级。 因此,我们计划实现某种方法以实现数据库故障转移。 根据我在此处的 Postgresql Wiki的阅读,我们正在尝试实现热备用或热备用。所以我的问题是: 它们之间的主要区别是什么? 哪一个更好? 我们还有其他方法可以考虑在Postgres数据库中实现高可用性吗?


By using our site, you acknowledge that you have read and understand our Cookie Policy and Privacy Policy.
Licensed under cc by-sa 3.0 with attribution required.