Postgresql 与SQL转储相比,使用连续归档和时间点恢复有什么优势?

PostgreSQL的连续存档和时间点恢复似乎比备份和恢复复杂得多。使用SQL转储方法的优势是什么?我的环境是Windows Server 2008。我看到了两个主要优点: 对于连续存档,DB restore的时间没有常规转储的时间长。对于一个大数据库(比如50GB),您的恢复可能需要几个小时 您可以随时更新数据库实例,以备需要(即只读查询) 我认为有两个主要优势: 对于连续存档,DB restore的时间没有常规转储的时间长。对于一个大数据库(比如50GB),您的恢复可能需要几个小时 您可以随

PostgreSQL跨2个数据库连接

我是PostgreSQL的新手。我在PostgreSQL 9.0、db1和db2中有两个数据库,在db2中我有只读访问权限。我想创建一个存储函数,否则可以通过连接或嵌套查询轻松完成,这是PostgreSQL无法跨数据库完成的 在db1中,我有一个表1,我可以在其中查询一组外键,我可以使用这些外键在db2中搜索表2中的记录,类似于: SELECT * from db2.table2 WHERE db2.table2.primary_key IN ( SELECT db1.table1.fo

Postgresql 返回postgres中Jonned查询的0计数

我有以下数据库模式: CREATE SCHEMA products; CREATE TABLE products.product_group ( id bigserial NOT NULL PRIMARY KEY, name varchar(255) NOT NULL ) CREATE TABLE products.product ( id bigserial NOT NULL PRIMARY KEY, name varchar(255) NOT NULL, produc

在debian wheezy上安装postgresql 9.2(在virtualbox上)

我有带Debian哮喘病的virtualbox。 我正在尝试在其上安装Postgresql 9.2。 当我尝试按照指令进行操作时,我有下一步: Reading package lists... Done Building dependency tree Reading state information... Done Some packages could not be installed. This may mean that you have requested an impossible

Postgresql PGSQL错误代码42703列不存在

我有一个postgreSQL数据库。我想从那里读取一些数据,但在执行命令时出现错误(列anganridref不存在) 以下是我的npgsql命令: cmd.CommandText = "select * from angebot,angebotstatus,anrede where anrid=anganridref and anstaid=anganstaidref"; 还有我的3张桌子 我的列的名称是权限。所以我不明白为什么会出现这样的错误。有人能解释一下它为什么会坠毁吗?这不是大小写的

Postgresql Self-join要查找Postgres中连续行之间的差异,尝试了Self-join,但似乎不起作用

我试图使用自联接查找两个连续行的字段(本例中为计数器)之间的差异。表名为counter_table,主键为Country+State+City+dateandtime。dateandtime是一个时间戳字段,数据大约每30分钟插入一次,但有时在该时间间隔内根本没有插入数据,这意味着下一个数据集在1小时后到达,甚至在几个小时后到达,它可能会有所不同 我现在使用的查询如下 SELECT A.country, A.state, A.city, A.dateandtime, B.dateandtime,

Postgresql 从postgres 7.4迁移到postgres 9.2时,无法将值插入bytea类型属性

我正在将一个应用程序从postgres 7.4迁移到postgres 9.2。在postgres 7.4中插入bytea类型属性值的查询运行良好,在postgres 9.2中引发了PSQLException,错误如下 错误:在“\”处或附近出现语法错误 第1行:…07\000\000\001\002\000\000 |\012\000\000\'\007\000…(错误显示在单引号附近) ***错误*** 错误:在“\”处或附近出现语法错误 SQL状态:42601 字符:39081 我已经阅读了

Postgresql 合并postgres数据

我有两个postgresql数据库中的数据,需要合并到1中。需要明确的是,这两个数据库中都有特定日期的“良好”数据,需要合并。这不仅仅是将数据从一个附加到另一个。换句话说,假设表foo有一个串行id字段。两个数据库都有一个ID为5555的foo,两个值都有效(但不同)。因此,目标数据库的foo保持5555,新记录应该添加一个新ID nextval(foo_ID_seq) 所以,这是一个大混乱 我的想法是在目标数据库中创建一个tmp模式,并从源数据库复制所需的数据。然后我需要基本上“插入”数据。插

Postgresql 如何在Postgres中重现过去查询的查询计划和实际运行时间?

有一个查询时不时地需要大约20秒才能完成,而大多数情况下只需要2秒即可完成 如果我使用EXPLAIN,我无法重现需要20秒的查询 有什么方法可以找出为什么在这些特定的实例中查询花费了那么长的时间?查看自动解释模块:也可以查看pg\u stat\u statements。同时启用检查点日志记录,查看慢速查询是否与检查点对应。

Postgresql postgres xl的DRP

安装和设置postgres xl 9.2的2节点集群后,协调器和GTM在node1上运行,Datanode在node2上设置 现在,在我将其用于生产之前,我必须提供一个DRP解决方案。 有人对postgres xl 9.2 Architecture有DR计划吗 致以最良好的祝愿, Aviel B.根据您的描述,每个节点只有一个。。。你也希望恢复什么 Postgres XL是一个集群解决方案。如果每个节点只有一个节点,那么就没有集群,而且不仅没有任何扩展优势,而且实际运行速度会比独立Postgre

Postgresql 更新失败-id是uknown属性吗?

这个错误使我困惑不解。这是控制器代码(不是控制器) 它给出了以下错误: SQL (13.0ms) UPDATE "estimates" SET "customer_id" = 24, "updated_at" = '2014-07-28 21:59:26.193000' WHERE "estimates"."id" = 277 Completed 500 Internal Server Error in 436ms ActiveModel::MissingAttributeError (ca

解释PostgreSQL权限

请解释PostgreSQL中\z命令的输出。我理解许可,我阅读了文档,但不知何故我错过了\z输出的解释 不知何故,readonlyuser似乎能够读取表foo和foo,但实际上却不能。两个命令都返回一个错误: sudo -u postgres psql -d datastore_default -U readonlyuser -c 'SELECT * FROM foo' sudo -u postgres psql -d datastore_default -U readonlyuser -c '

Postgresql Postgres因长查询而崩溃

我的postgres因长时间的查询而崩溃。它位于Debian 7 64位和postgresql-9.3.2上。我使用所有默认配置。有人能建议这可能是什么问题吗?谢谢 在查询中,calc_empty_a只是返回true的空布尔函数,因此它们应该没有问题 如果我在客户端运行查询,服务器就会崩溃。日志中没有有用的信息,请参考文章末尾的错误信息 如果我运行第1部分的查询,该查询工作得很好 如果我先运行第1部分的查询,然后运行整个查询,它运行得很好 如果我更改查询,减少r个数,例如,表中只有r1到r6,删

PostgreSQL视图错误

我在psql和Centos中创建视图时遇到问题 我有一个包含查询的文件。看起来像这样 当我这样做的时候 psql -d cjones< order_tester.sql psql-d cjones

无法连接到postgresql

我已经编写了以下代码 <!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01//EN"> <html> <head></head> <body> <?php // attempt a connection // $conn_string = "host=localhost port=5432 dbname=postgi

从Postgresql迁移到Postgres XL:分布式表设计

由于数据量很大,我需要扩展我们的应用程序数据库。它在PostgreSQL 9.3上。所以,我发现了PostgreSQL XL,它看起来很棒,但我很难理解分布式表的局限性。通过复制(在每个datanode中复制整个表)来分发它们是很好的,但是假设我有两个大的相关表,它们需要沿datanode“切分”: CREATE TABLE foos ( id bigserial NOT NULL, project_id integer NOT NULL, template_id integer N

POSTGRESQL:如何使用现有表上的数据添加新列

我不熟悉postgres和sql脚本,所以请耐心听我说:) 我要做的是添加一个现有列,其中包含现有表上的数据 现有表格的示例: NAME AGE Adam 25 Tim 30 现在我想添加一个新的列地址,其中包含Adam和Tim的数据 我现在使用pgadmin接口直接添加到表中,而不使用脚本 向表中添加列的命令是altertable: alter table add column address varchar(255

postgresql中具有顺序名称后缀的表

我正在阅读postgresql中的遗留数据仓库,发现了一个名为like的表列表 命令 \list 结果: abc_1 abc_2 abc_3 ... abc_10000 在数据仓库上下文中,postgresql中的这些顺序命名表意味着什么?我们为什么不把它们合并到一个表abc它们极有可能是父表abc的分区。用\d+abc\u 1检查。它是否提到任何继承或父表 即使它们不是继承方案的一部分,也可能是分区,只是在应用程序级别处理 分区是解决数据库引擎中的限制的一个有用方法。在理想情况下,这是不必

Postgresql Postgres热备用和从机上的长时间运行查询

问题:在热备用模式下,在从机(从机角色作为报告数据库服务器)上应用WAL更新时,是否可以运行长时间运行的查询(30秒以上)?它现在的工作方式是,要么设置下面的参数以终止长时间运行的查询,以便可以应用WAL更新,要么无限期地延迟WAL更新,直到没有查询正在运行才能应用它们。我们两个都可以吗?是否同时应用长时间运行的查询和WAL更新 案例实施:我们目前正在使用热备用模式将任何更改从一个主设备同步到一个从设备。从属服务器的角色是一个报告数据库服务器,查询持续并发运行(有些以毫秒为单位,有些以秒为单位,

在数据中找到无引号的回车符-防止在PostgreSQL中复制

我正试图将一个大的csv文件(~4.5gb)导入Postgres,但它不断抛出以下错误: 错误:在数据中找到未引用的回车符 提示:使用带引号的CSV字段表示回车。 上下文:复制abc_完成_文件_261115,第9041959行 我在SublimiteText2中打开我的csv并跳到第9041959行,找到我需要的记录的URN,在Vim中加载文件并转到该行。我在Vim中启用了隐藏字符(通过使用:set list),因此我希望在数据行的某个位置看到回车^M,但我能找到的唯一字符是在该行的末尾 经过

Postgresql postgres中的角色、组和设置会话授权

我正在研究postgres多租户应用程序的行级安全性。我希望通过一个策略来实现这一点,该策略基于租户名称(表中的一列)分隔行。我对每个租户都有角色。但是,我通过超级用户通过连接来维护连接池。这样,我只能有一个连接池。一旦我从一个租户那里得到了一个查询,我想先删除该租户的特权,然后执行查询 因此,我以超级用户的身份连接到数据库,然后执行“设置会话授权租户角色”。这将设置会话用户和当前用户变量。但是,问题是,这个租户用户可以自己执行“设置会话授权给其他租户”,然后行安全性就无关紧要了。我猜这是因为D

PowerBI Cx连接到PostgreSQL时出错

这是我在尝试使用power bi连接到PostgreSQL数据库时收到的错误 详细信息:“TlsClientStream.ClientAlertException:CertificateExpired 位于TlsClientStream.TlsClientStream.SendAlertFatal(AlertDescription 说明,字符串消息) 位于TlsClientStream.TlsClientStream.ParseCertificateMessage(字节[]) buf、Int32

Postgresql 如何将一列的第一个字符插入另一列?

我有一个超过30000个条目的表,必须添加一个新列(zip\u前缀),其中包含邮政编码的第一位(zcta) 我成功创建了该列: alter table zeta add column zip_prefixes text; 然后,我尝试在列中输入以下值: update zeta set zip_prefixes = ( select substr(cast (zctea as text)1,1) from zeta) ) 当然我得到了: 如何将zctea中的值的

Postgresql 获取表主键的所有实例

这是我需要的一个简单示例,对于任何给定的表,我需要获取主键的所有实例,这是一个小示例,但我需要一种通用的方法来实现 create table foo ( a numeric ,b text ,c numeric constraint pk_foo primary key (a,b) ) insert into foo(a,b,c) values (1,'a',1),(2,'b',2),(3,'c',3); 选择 结果 a|b 1 |1|a| 2 |2|b| 3

在API可访问的PostgreSQL表中归档大型JSON对象的正确方法?

我研究这个问题已经有一段时间了。我在一个统计网站上工作,作为我玩游戏的爱好 基本上,我有一个脚本,每5分钟访问一次游戏的API(可能会增加到15分钟),并一次提取所有比赛的当前状态。我最初将此对象存储为表中的JSON列。(然后每行的JSON列中都有一个118kb的对象) 问题是试图查询表以获取一周内的整个存档(即匹配的持续时间)。基本上,当我只想从JSON中拿出一个特定的键时,它正在为一周的匹配提取2016个118kb的记录。对该API端点的请求大约需要10秒才能完成 我在PostgreSQL中

postgreSQL函数调用包

正如postgreSQL文档所述,函数调用必须向服务器发送带有'F'标识符的数据包 因此,我定义了一个简单的函数,并使用select语句调用它,在使用监视我的连接端口之后,我看到没有'F'标识的数据包,只有多个简单的查询数据包('Q'标识) 我在这里遗漏了什么吗?这是一种误解 在SELECT语句中调用的函数是查询(标识符Q)或解析(标识符p)消息中语句文本的一部分 您所参考的文档部分描述了的消息。这是前端后端协议支持预处理语句之前的遗留问题,用于执行简单的函数调用,而无需解析SQL语句。现在它大

PostgreSQL-如何在字符串条件下使用通配符

我有一个字符串:a%a 我想在数据库中找到所有以%A开头的字符串 例如: AABCD - false AABCE - false AA%BC - true 我使用sql语句: Select * from Tabel where Column like 'AA%B%' 但结果是: AABCD AABCE AA%BC 因为字符串包含通配符“%”,并且postgres选择错误 请给我建议一个解决方案要逃逸%字符,请像这样使用\ 更新 可以通过使用ESCAPE关键字来实现,该关键字后面带有空字符串

如何减少postgresql的执行时间?

我使用raster2pgsql命令在postgresql中存储了大量光栅数据~100 MB deolali map。deolali表中的主键是rid。我正在使用postgis扩展中的QuerySt_片段,我得到了9.6秒的时间来执行查询。我想减少postgresql中的执行时间。我怎样才能做到这一点 获取快速CPU并将数据库保存在RAM中。使用GDAL将光栅作为(例如)GeoTIFF文件处理总是比使用PostGIS更快。

Postgresql 如果删除了一个字段为2的表中的另一个字段为2的表,如何删除该表中的记录?

我正在删除一个表中的一些记录,但该表中的一些字段与其他表ManyOne相关。你们能帮我查询一下吗?我还想删除多个One字段记录 delete from manpower_estimate where manpower_estimate_line IN (select id from res_scheduledjobs where contract_start_date < '2014-12-31' and contract_end_date < '2014-12-31') 这就是

Postgresql wal-e备份推送未终止(等待归档所需的wal段)

正在尝试设置postgres 在学习了各种教程之后,我终于可以为一个干净的9.6 postgres安装做第一次备份了 遵循一些教程,最后阅读以执行初始的wal-e备份推送,如下所示: sudo-u博士后-i envdir/etc/wal-e.d/env wal-e backup push/var/lib/postgresql/9.6/main 我希望命令很快终止,因为它是一个空数据库 然而,它似乎在无限期地等待。显示等待归档所需的WAL段 postgres@postgres:~$ envd

无法连接到PostgreSQL数据库

我无法连接到数据库。我收到的消息是,角色“Darko”不存在。以下是我的命令顺序: /usr/local/pgsql/bin/pg_ctl start -D /usr/local/pgsql/data -l logfile Server starting /usr/local/pgsql/bin/initdb -D /usr/local/pgsql/data The files belonging to this database system will be owned by user "d

Postgresql Postgres用户角色是否可以配置默认数据库和/或默认模式(除了“开箱即用”的默认模式)?

根据dbnameconnection参数默认为用户名: dbname 数据库名称。默认值与用户名相同。 在某些上下文中,检查扩展格式的值; 有关这些方面的更多详细信息,请参见第31.1.1节 我的第一个问题是:如果没有与用户名对应的数据库,会发生什么情况?除了与用户名同名的数据库之外,是否有其他方法定义默认数据库?(如何实现这一目标?) 我的第二个问题是:一旦连接到数据库,是否可以为用户定义默认模式?(如何实现这一点?无法使用默认数据库设置用户,因为要连接到哪个数据库的决定是在服务器首次连接之前

Postgresql 可移动在Postgres';真空输出?

我对一个900万行的Postgres表进行了全真空操作,我得到了以下结果: INFO: vacuuming "osm.asp_trs_roads_osm" INFO: "asp_trs_roads": found 329992 removable, 9660438 nonremovable row versions in 761738 pages 详细信息:尚未删除0个死区版本。 CPU 8.98s/13.06u秒运行549.77秒。 查询已成功返回,在991788毫秒内没有结果 “329

Postgresql 无法创建排序规则窗口

您好,我正在尝试创建窗口排序规则,但无法创建它,我得到了屏幕截图所示的错误 我正在使用Deafolt POSIX排序规则创建新的排序规则 在Postgres网站上,提到POSIX在所有平台上都可用 在所有平台上,名为default、C和POSIX的排序规则都是 可获得的根据具体情况,可能会提供其他排序规则 操作系统支持。默认排序规则选择LC\U排序规则 和在数据库创建时指定的LC_CTYPE值。C和 POSIX排序规则都指定了“传统C”行为,其中 ASCII字母“A”到“Z”被视为字母,并

组合式Postgresql GROUB

嗨,我对group by子句有问题,如果我在 这是我表格中的一部分,包含以下组合: CREATE TABLE sampleTable ( id serial primary key, sat1 varchar(3), sat2 varchar(3) ); INSERT INTO sampleTable (sat1, sat2) VALUES ('LE7','LE7'), ('LE8','LE7'), ('LE7','LE7'), ('LE7'

Postgresql 调整参数后,将数据加载到Postgres RDS的速度仍然很慢

我们已经创建了一个RDS postgres实例(m4.xlarge),具有200GB的存储空间(配置的IOPS)。我们正在尝试使用DataStage将数据从公司数据集市上传到RDS中的23个表中。但是上传速度相当慢。加载40万条记录大约需要6个小时 然后,我开始根据以下参数调整以下参数: 除此之外,我还关闭了multi-AZ和备份。虽然启用了SSL,但不确定这是否会改变任何内容。然而,经过所有的改变,仍然没有多大的改善。DataStage正在并行上传数据,已经有12个线程。写入IOPS约为40/

Postgresql Postgres中的多次删除,每次删除后都有一个提交

我有大约3000万条记录要从表中删除,即使删除10.000条记录也需要30分钟。我关心的是对所有3000万条记录发出delete命令,所以我想批量删除 所以我的方法是循环删除一个批,然后提交,然后循环删除下一个批。但这会产生以下错误: LOCATION: exec_stmt_raise, pl_exec.c:3216 ERROR: 0A000: cannot begin/end transactions in PL/pgSQL HINT: Use a BEGIN block with an

Phoenix无法连接到Heroku';s PostgreSQL server

这是我在virginal Phoenix应用程序上看到的错误,我设置该应用程序是为了搞乱它: [错误]Postgrex.Protocol(#PID)无法连接:** (Postgrex.Error)致命28000(无效的\u授权\u规范):否 主机“24.25.201.68”的pg_hba.conf条目,用户“koilqmnaakvfjg”, 数据库“dc245o0vlbprf7”,SSL关闭 这是我的配置/dev.exs: # Configure your database config :he

Postgresql 仅返回RANK()之后的最低值

我使用以下方法创建了某些“案例”: 现在我需要在每个case_id中创建等级,其中名称只能出现一次,最低等级应该分配给最低的some_值 以下是数据示例: 以及所需的输出: Select * from ( Select Name, A, B, some_value, case_id , ROWNO() over (partition by case_id, Name order by some_value) as R1 from ( Select

Postgresql Postgres如何根据子表的最后记录选择父表?

我有一个桌子助手,名字和出价,a_id,日期和Cb_id,是否同意 A和B有一对一的关系 B和C有一对多的关系 我想做的是 我想选择一个表,其中C的最后一条记录的字段为\u 到目前为止,我一直在做的是 SELECT * FROM A a JOIN B b on A.id = b.a_id INNER JOIN C c1 on b.id = c1.b_id LEFT OUTER JOIN C c2 ON ((b.id = c2.b_id) AND (c1.id < c2.id)) WHERE

加快PostgreSQL上的亿美元记录

我想讨论一下PostgreSQL数据库。我有将近50亿张叫做发票的记录 有这样的商店余额: id | account | type | amount | current_balance 1 A TOPUP 1000 1000 2 A USAGE -1 | 999 3 A USAGE -1 | 998 ... more 5 billion

Postgresql 无法使用实体框架核心3.1.3更新数据库

我正在为ASP.NETWebAPI应用程序使用EFCore,并尝试从我的模型创建PostgreSQL数据库(基本Microsoft文档示例) 我使用“添加迁移””创建迁移,但下一步,当我执行“更新数据库””时,出现以下错误: > fail: Microsoft.EntityFrameworkCore.Database.Command[20102] > Failed executing DbCommand (15ms) [Parameters=[], CommandType='Te

Postgresql 在PosgreSQL中使用Copy导入数据时出现内存不足错误

我们已经将数据从SQL Server迁移到PostgreSQL。需要将20亿条记录导入myTable。我们已经按月划分了myTable。我已将数据从MS-SQL Server转换为csv文件。 每个csv文件包含一周的数据。我使用以下查询将数据导入PostgreSQL Copy myTable (id,col1,col2,col3,col4,col5,col6,col7,col8,col9,col10) from program ‘cmd/c “type c:\mydata\mytablew1

Postgresql 如何在azure管道中创建postgres数据库?

我正在azure管道中使用windows最新的host agent来构建和打包maven spring boot Java项目。与Maven buil相比,它对包含在WindowHost agent上的postgres db运行测试。但是,如何在postgres服务器中创建数据库 通过将spring数据源URL、用户名和密码指定为系统属性,我可以连接到db,这可以正常工作(否则控制台日志中会显示一个错误,它无法连接) 我可以使用包含sql的schema.sql文件来执行db初始化,该初始化由Sp

上一页   1   2   3    4   5   6  ... 下一页 最后一页 共 942 页