PostgreSQL的连续存档和时间点恢复似乎比备份和恢复复杂得多。使用SQL转储方法的优势是什么?我的环境是Windows Server 2008。我看到了两个主要优点:
对于连续存档,DB restore的时间没有常规转储的时间长。对于一个大数据库(比如50GB),您的恢复可能需要几个小时
您可以随时更新数据库实例,以备需要(即只读查询)
我认为有两个主要优势:
对于连续存档,DB restore的时间没有常规转储的时间长。对于一个大数据库(比如50GB),您的恢复可能需要几个小时
您可以随
我是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
我有以下数据库模式:
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哮喘病的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数据库。我想从那里读取一些数据,但在执行命令时出现错误(列anganridref不存在)
以下是我的npgsql命令:
cmd.CommandText = "select * from angebot,angebotstatus,anrede where anrid=anganridref and anstaid=anganstaidref";
还有我的3张桌子
我的列的名称是权限。所以我不明白为什么会出现这样的错误。有人能解释一下它为什么会坠毁吗?这不是大小写的
我试图使用自联接查找两个连续行的字段(本例中为计数器)之间的差异。表名为counter_table,主键为Country+State+City+dateandtime。dateandtime是一个时间戳字段,数据大约每30分钟插入一次,但有时在该时间间隔内根本没有插入数据,这意味着下一个数据集在1小时后到达,甚至在几个小时后到达,它可能会有所不同
我现在使用的查询如下
SELECT A.country, A.state, A.city, A.dateandtime, B.dateandtime,
我正在将一个应用程序从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数据库中的数据,需要合并到1中。需要明确的是,这两个数据库中都有特定日期的“良好”数据,需要合并。这不仅仅是将数据从一个附加到另一个。换句话说,假设表foo有一个串行id字段。两个数据库都有一个ID为5555的foo,两个值都有效(但不同)。因此,目标数据库的foo保持5555,新记录应该添加一个新ID nextval(foo_ID_seq)
所以,这是一个大混乱
我的想法是在目标数据库中创建一个tmp模式,并从源数据库复制所需的数据。然后我需要基本上“插入”数据。插
有一个查询时不时地需要大约20秒才能完成,而大多数情况下只需要2秒即可完成
如果我使用EXPLAIN,我无法重现需要20秒的查询
有什么方法可以找出为什么在这些特定的实例中查询花费了那么长的时间?查看自动解释模块:也可以查看pg\u stat\u statements。同时启用检查点日志记录,查看慢速查询是否与检查点对应。
安装和设置postgres xl 9.2的2节点集群后,协调器和GTM在node1上运行,Datanode在node2上设置
现在,在我将其用于生产之前,我必须提供一个DRP解决方案。
有人对postgres xl 9.2 Architecture有DR计划吗
致以最良好的祝愿,
Aviel B.根据您的描述,每个节点只有一个。。。你也希望恢复什么
Postgres XL是一个集群解决方案。如果每个节点只有一个节点,那么就没有集群,而且不仅没有任何扩展优势,而且实际运行速度会比独立Postgre
这个错误使我困惑不解。这是控制器代码(不是控制器)
它给出了以下错误:
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中\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 '
我的postgres因长时间的查询而崩溃。它位于Debian 7 64位和postgresql-9.3.2上。我使用所有默认配置。有人能建议这可能是什么问题吗?谢谢
在查询中,calc_empty_a只是返回true的空布尔函数,因此它们应该没有问题
如果我在客户端运行查询,服务器就会崩溃。日志中没有有用的信息,请参考文章末尾的错误信息
如果我运行第1部分的查询,该查询工作得很好
如果我先运行第1部分的查询,然后运行整个查询,它运行得很好
如果我更改查询,减少r个数,例如,表中只有r1到r6,删
我在psql和Centos中创建视图时遇到问题
我有一个包含查询的文件。看起来像这样
当我这样做的时候
psql -d cjones< order_tester.sql
psql-d cjones
我已经编写了以下代码
<!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
database-partitioninghorizontal-scalingpostgres-xl
由于数据量很大,我需要扩展我们的应用程序数据库。它在PostgreSQL 9.3上。所以,我发现了PostgreSQL XL,它看起来很棒,但我很难理解分布式表的局限性。通过复制(在每个datanode中复制整个表)来分发它们是很好的,但是假设我有两个大的相关表,它们需要沿datanode“切分”:
CREATE TABLE foos
(
id bigserial NOT NULL,
project_id integer NOT NULL,
template_id integer N
我已经下载了heroku数据库的最新副本
$ curl -o latest.dump `heroku pg:backups public-url --app myapp`
这将在我的本地计算机上提供以下类型的文件:
$ file db/latest.dump
db/latest.dump: PostgreSQL custom database dump - v1.12-0
我正在尝试使用psql将其导入本地Postgres DB(my_DB)。但是,我遇到了很多错误:
$ psql
我不熟悉postgres和sql脚本,所以请耐心听我说:)
我要做的是添加一个现有列,其中包含现有表上的数据
现有表格的示例:
NAME AGE
Adam 25
Tim 30
现在我想添加一个新的列地址,其中包含Adam和Tim的数据
我现在使用pgadmin接口直接添加到表中,而不使用脚本 向表中添加列的命令是altertable:
alter table add column address varchar(255
我已经安装了hstore扩展。postgresql的版本是9.4.4,它是通过自制程序安装的
# \dx
List of installed extensions
Name | Version | Schema | Description
---------+---------+------------+------------------------------------------------
我正在阅读postgresql中的遗留数据仓库,发现了一个名为like的表列表
命令
\list
结果:
abc_1
abc_2
abc_3
...
abc_10000
在数据仓库上下文中,postgresql中的这些顺序命名表意味着什么?我们为什么不把它们合并到一个表abc它们极有可能是父表abc的分区。用\d+abc\u 1检查。它是否提到任何继承或父表
即使它们不是继承方案的一部分,也可能是分区,只是在应用程序级别处理
分区是解决数据库引擎中的限制的一个有用方法。在理想情况下,这是不必
问题:在热备用模式下,在从机(从机角色作为报告数据库服务器)上应用WAL更新时,是否可以运行长时间运行的查询(30秒以上)?它现在的工作方式是,要么设置下面的参数以终止长时间运行的查询,以便可以应用WAL更新,要么无限期地延迟WAL更新,直到没有查询正在运行才能应用它们。我们两个都可以吗?是否同时应用长时间运行的查询和WAL更新
案例实施:我们目前正在使用热备用模式将任何更改从一个主设备同步到一个从设备。从属服务器的角色是一个报告数据库服务器,查询持续并发运行(有些以毫秒为单位,有些以秒为单位,
我正试图将一个大的csv文件(~4.5gb)导入Postgres,但它不断抛出以下错误:
错误:在数据中找到未引用的回车符
提示:使用带引号的CSV字段表示回车。
上下文:复制abc_完成_文件_261115,第9041959行
我在SublimiteText2中打开我的csv并跳到第9041959行,找到我需要的记录的URN,在Vim中加载文件并转到该行。我在Vim中启用了隐藏字符(通过使用:set list),因此我希望在数据行的某个位置看到回车^M,但我能找到的唯一字符是在该行的末尾
经过
我正在研究postgres多租户应用程序的行级安全性。我希望通过一个策略来实现这一点,该策略基于租户名称(表中的一列)分隔行。我对每个租户都有角色。但是,我通过超级用户通过连接来维护连接池。这样,我只能有一个连接池。一旦我从一个租户那里得到了一个查询,我想先删除该租户的特权,然后执行查询
因此,我以超级用户的身份连接到数据库,然后执行“设置会话授权租户角色”。这将设置会话用户和当前用户变量。但是,问题是,这个租户用户可以自己执行“设置会话授权给其他租户”,然后行安全性就无关紧要了。我猜这是因为D
这是我在尝试使用power bi连接到PostgreSQL数据库时收到的错误
详细信息:“TlsClientStream.ClientAlertException:CertificateExpired
位于TlsClientStream.TlsClientStream.SendAlertFatal(AlertDescription
说明,字符串消息)
位于TlsClientStream.TlsClientStream.ParseCertificateMessage(字节[])
buf、Int32
我有一个超过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中的值的
这是我需要的一个简单示例,对于任何给定的表,我需要获取主键的所有实例,这是一个小示例,但我需要一种通用的方法来实现
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
我研究这个问题已经有一段时间了。我在一个统计网站上工作,作为我玩游戏的爱好
基本上,我有一个脚本,每5分钟访问一次游戏的API(可能会增加到15分钟),并一次提取所有比赛的当前状态。我最初将此对象存储为表中的JSON列。(然后每行的JSON列中都有一个118kb的对象)
问题是试图查询表以获取一周内的整个存档(即匹配的持续时间)。基本上,当我只想从JSON中拿出一个特定的键时,它正在为一周的匹配提取2016个118kb的记录。对该API端点的请求大约需要10秒才能完成
我在PostgreSQL中
标签: Postgresql
wiresharkpacket-sniffersfunction-call
正如postgreSQL文档所述,函数调用必须向服务器发送带有'F'标识符的数据包
因此,我定义了一个简单的函数,并使用select语句调用它,在使用监视我的连接端口之后,我看到没有'F'标识的数据包,只有多个简单的查询数据包('Q'标识)
我在这里遗漏了什么吗?这是一种误解
在SELECT语句中调用的函数是查询(标识符Q)或解析(标识符p)消息中语句文本的一部分
您所参考的文档部分描述了的消息。这是前端后端协议支持预处理语句之前的遗留问题,用于执行简单的函数调用,而无需解析SQL语句。现在它大
我有一个字符串: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关键字来实现,该关键字后面带有空字符串
我使用raster2pgsql命令在postgresql中存储了大量光栅数据~100 MB deolali map。deolali表中的主键是rid。我正在使用postgis扩展中的QuerySt_片段,我得到了9.6秒的时间来执行查询。我想减少postgresql中的执行时间。我怎样才能做到这一点
获取快速CPU并将数据库保存在RAM中。使用GDAL将光栅作为(例如)GeoTIFF文件处理总是比使用PostGIS更快。
我正在尝试将日志记录集成到.NETCore中的DB中。我能够设置NLog并将消息记录到SQL Server。这很容易。但当我尝试将DB切换到PostgreSQL时,似乎没有任何记录
下面是startup.cs中的代码
public void Configure(IApplicationBuilder app, IHostingEnvironment env, ILoggerFactory loggerFactory)
{
loggerFactory =
我正在删除一个表中的一些记录,但该表中的一些字段与其他表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')
这就是
正在尝试设置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
我无法连接到数据库。我收到的消息是,角色“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
根据dbnameconnection参数默认为用户名:
dbname
数据库名称。默认值与用户名相同。
在某些上下文中,检查扩展格式的值;
有关这些方面的更多详细信息,请参见第31.1.1节
我的第一个问题是:如果没有与用户名对应的数据库,会发生什么情况?除了与用户名同名的数据库之外,是否有其他方法定义默认数据库?(如何实现这一目标?)
我的第二个问题是:一旦连接到数据库,是否可以为用户定义默认模式?(如何实现这一点?无法使用默认数据库设置用户,因为要连接到哪个数据库的决定是在服务器首次连接之前
我对一个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
您好,我正在尝试创建窗口排序规则,但无法创建它,我得到了屏幕截图所示的错误
我正在使用Deafolt POSIX排序规则创建新的排序规则
在Postgres网站上,提到POSIX在所有平台上都可用
在所有平台上,名为default、C和POSIX的排序规则都是
可获得的根据具体情况,可能会提供其他排序规则
操作系统支持。默认排序规则选择LC\U排序规则
和在数据库创建时指定的LC_CTYPE值。C和
POSIX排序规则都指定了“传统C”行为,其中
ASCII字母“A”到“Z”被视为字母,并
嗨,我对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'
我们已经创建了一个RDS postgres实例(m4.xlarge),具有200GB的存储空间(配置的IOPS)。我们正在尝试使用DataStage将数据从公司数据集市上传到RDS中的23个表中。但是上传速度相当慢。加载40万条记录大约需要6个小时
然后,我开始根据以下参数调整以下参数:
除此之外,我还关闭了multi-AZ和备份。虽然启用了SSL,但不确定这是否会改变任何内容。然而,经过所有的改变,仍然没有多大的改善。DataStage正在并行上传数据,已经有12个线程。写入IOPS约为40/
错误:使用子查询时,列access_log.id必须出现在GROUP BY子句中或在聚合函数中使用]
select
to_char(date_trunc('day',create_time),'DD MON, YYYY') as create_time,
to_char((max(create_time) - min(create_time)),'HH24:mi') as time_spent,
id
from
access_log
group by
u
我有大约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
我正在使用django cookiecutter模板,这是第二次用于新项目。无法连接到postgres,错误如下:
postgres_1 | 2018-04-30 14:54:09.747 UTC [1] LOG: database system is ready to accept connections
postgres_1 | 2018-04-30 14:54:10.029 UTC [28] FATAL: password authentication failed for use
这是我在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
我使用以下方法创建了某些“案例”:
现在我需要在每个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
我有一个桌子助手,名字和出价,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数据库。我有将近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
我有一张三列的桌子
| name | date | total |
--------------------------------------------
| name.first_name | 2019-12-10 | 1 |
| name.last_name | 2019-12-10 | 1 |
| name.middle_name | 2019-12-10 | 1 |
| name.full_name
我正在为ASP.NETWebAPI应用程序使用EFCore,并尝试从我的模型创建PostgreSQL数据库(基本Microsoft文档示例)
我使用“添加迁移””创建迁移,但下一步,当我执行“更新数据库””时,出现以下错误:
> fail: Microsoft.EntityFrameworkCore.Database.Command[20102]
> Failed executing DbCommand (15ms) [Parameters=[], CommandType='Te
我们已经将数据从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
我正在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 页