Questions tagged «postgresql»

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

4
处理源LOB列时避免使用“逐行”获取方法
我有一个旧的PostgreSQL数据库源(ODBC),我正尝试使用SSIS迁移到新的SQL Server模式。我收到警告说: 强制执行“逐行”读取方法,因为该表具有LOB列。列的内容是LOB 问题是,该列中的任何一个都不必真正是LOB。有一些是TEXT类型,但可以很容易地放入varchar(max)中。但是,甚至更陌生的人,大多数已经是 varchars,但是似乎将varchar(128)上的所有内容都视为是LOB(在预先的属性中,数据类型为DT_NTEXT)。 我事件尝试执行一条手动SQL命令,其中我在select语句中将每种字符串类型显式转换为适当长度的varchar,并且在ODBC源中仍将它们设置为DT_NTEXT。 我不是DBA,所以我做的事情很愚蠢是完全有可能的。我只想知道确保类型最终成为varchars的最佳方法,这样我就可以批量提取。有任何想法吗? 如果有问题,我将在Visual Studio 2013中使用SSIS-BI 2014。

2
大表中索引扫描缓慢
使用PostgreSQL 9.2时,我在相对较大的表(200+百万行)上的慢查询遇到了麻烦。我没有尝试任何疯狂的事情,只是增加了历史价值。以下是查询和查询计划输出。 我的表格布局: Table "public.energy_energyentry" Column | Type | Modifiers -----------+--------------------------+----------------------------------------------------------------- id | integer | not null default nextval('energy_energyentry_id_seq'::regclass) prop_id | integer | not null timestamp | timestamp with time zone | not null value | double precision | not null Indexes: "energy_energyentry_pkey" PRIMARY KEY, btree (id) "energy_energyentry_prop_id" btree (prop_id) …

1
在PostgreSQL中存储和查询滚动数据
我将大量的天气模型数据放入PostgreSQL数据库中。该计算机具有8个内核和16 GB的RAM。我正在使用PostGIS 2.1运行PostgreSQL 9.3。每个表都有不同的天气数据(温度,露点,风等)。每个表将有6-7列:纬度,经度,点几何,高程,与模型相关的日期时间,以及1-2个感兴趣的数据值。将首先根据时间和海拔高度查询边界框的数据。每个表大约有145,757,360行(比现在不再重要的数据将被删除)。我粗略估计,每个表的大小(不含索引)约为10 GB。(这是52字节的数据加上每行23字节的开销)。当新模型数据可用时,数据将定期更新/插入。注意: 因此,我正在研究以下两个计划: 只需按(日期时间,海拔高度)进行索引和聚类,并为点几何图形添加附加索引。运行常规的cron作业,该作业将删除旧行,运行真空/分析并重新进行集群。 按日期时间进行分区,然后对每个表按高度进行聚类,并按索引对几何进行索引。运行常规的cron作业以添加新表,然后删除旧表。 进一步, 因此,我知道删除表的效率更高,而删除和清理则更为有效。但是我会否看到性能提升? 当所有表将被均匀更新和选择直到不相关而被删除之前,分区是否合适(文档指出,当只选择其中的几个分区时,分区效果最佳)? 交付数据时,选择的速度会比聚集索引快吗?如果一次发出多个请求,答案是否会改变? 谢谢。我希望我收集所有需要的数据。如果没有,请告诉我,我将其添加。

2
PostgreSQL:无法将目录更改为/ root
我正在尝试将表planet_osm_polygon从一个数据库复制osm到另一个数据库test。我su postgres并执行了pg_dump。 问题:但是我遇到了错误could not change directory to "/root",Password:提示出现了两次!有没有办法以pg_dump登录身份执行root? root@lalaland:~# su postgres postgres@lalaland:/root$ pg_dump -h localhost "osm" --table "public.planet_osm_polygon" | psql -h localhost "test" --table "staging.planet_osm_polygon" could not change directory to "/root" could not change directory to "/root" Password: Password: 更新 问题2:public即使我通过了flag ,也似乎将表复制到了架构中--table="staging.planet_osm_polygon"。为什么不将其复制到架构staging?

3
PostgreSQL顺序扫描而不是索引扫描为什么?
大家好我的PostgreSQL数据库查询有问题,想知道是否有人可以提供帮助。在某些情况下,我的查询似乎忽略了我创建的用于连接两个表data和的索引data_area。发生这种情况时,它将使用顺序扫描并导致查询慢得多。 顺序扫描(约5分钟) Unique (cost=15368261.82..15369053.96 rows=200 width=1942) (actual time=301266.832..301346.936 rows=153812 loops=1) CTE data -> Bitmap Heap Scan on data (cost=6086.77..610089.54 rows=321976 width=297) (actual time=26.286..197.625 rows=335130 loops=1) Recheck Cond: (datasetid = 1) Filter: ((readingdatetime >= '1920-01-01 00:00:00'::timestamp without time zone) AND (readingdatetime <= '2013-03-11 00:00:00'::timestamp without time zone) AND (depth >= 0::double …



1
Postgresql本身执行了“快速关闭”。为什么?它是怎么做到的?
在将其发布到这里之前,我已经在Google上进行了大量的搜索和手动阅读。 版本信息:Ubuntu10.x上的Postgres8.4 我有一台运行Postgres服务器的个人笔记本电脑,使用JDBC的Java脚本运行了1600多个分钟(我已经运行了数周),然后死于管理员重启服务器。这是我在pgsql日志中找到的内容: Feb 29 07:46:55 krufe-laptop postgres[3578]: [2-1] 2012-02-29 07:46:55 EST LOG: incomplete startup packet Feb 29 07:46:56 krufe-laptop postgres[1113]: [2-1] 2012-02-29 07:46:56 EST LOG: received fast shutdown request Feb 29 07:46:56 krufe-laptop postgres[1113]: [3-1] 2012-02-29 07:46:56 EST LOG: aborting any active transactions Feb 29 07:46:56 krufe-laptop postgres[24095]: [2-1] …
12 postgresql 

5
PostgreSQL:表格的创建日期
我最近完成了一个项目,在此期间创建了许多数据库表。 这些表大多数包含临时垃圾,我正在寻找一种列出所有这些表的简单方法。 有没有一种方法可以列出根据创建日期排序的所有数据库表?

3
计算系列中每个日期覆盖多少日期范围的最快方法
我有一个表(在PostgreSQL 9.4中)看起来像这样: CREATE TABLE dates_ranges (kind int, start_date date, end_date date); INSERT INTO dates_ranges VALUES (1, '2018-01-01', '2018-01-31'), (1, '2018-01-01', '2018-01-05'), (1, '2018-01-03', '2018-01-06'), (2, '2018-01-01', '2018-01-01'), (2, '2018-01-01', '2018-01-02'), (3, '2018-01-02', '2018-01-08'), (3, '2018-01-05', '2018-01-10'); 现在,我想为给定的日期和每种类型计算dates_ranges每个日期落入多少行。零可能会省略。 所需结果: +-------+------------+----+ | kind | as_of_date | n | +-------+------------+----+ | 1 | …

1
压缩PostgreSQL数据库
我有一个超过500GB的大型PostgreSQL数据库,这太大了。无论如何,有没有将数据库压缩到更易于管理的大小?我尝试使用SquashFS进行此操作,并将数据库压缩到177GB,但是PostgreSQL要求数据库具有写访问权限,并且Squashed系统为只读。是否有更多经验丰富的数据库用户对实现此目标有任何建议? 该数据库保存着地球的GIS数据,并将在部署的系统上本地使用。目前它位于1TB SSD上,但是,我试图避免只是为了容纳大型数据库而拍打额外的硬盘驱动器。数据库按预期执行,没有问题,我只想将其压缩到更易于管理的大小,并避免将其放在单独的驱动器上。

2
使用窗口函数在分区中结转第一个非空值
考虑一个记录访问量的表 create table visits ( person varchar(10), ts timestamp, somevalue varchar(10) ) 考虑这个示例数据(时间戳简化为计数器) ts| person | somevalue ------------------------- 1 | bob |null 2 | bob |null 3 | jim |null 4 | bob | A 5 | bob | null 6 | bob | B 7 | jim | X …


1
PostgreSQL psql-不起作用,但没有错误[关闭]
这个问题不太可能对将来的访客有所帮助;它仅与较小的地理区域,特定的时间段或极为狭窄的情况(通常不适用于Internet的全球受众)有关。要获得使该问题更广泛适用的帮助,请访问帮助中心。 7年前关闭。 我对PostgreSQL完全陌生,所以我可能缺少一些显而易见的东西。 通过终端上的psql连接到我的本地数据库。我运行的任何要更改数据库的命令,甚至是简单的选择都无济于事。没有错误,没有结果。 我可以使用shell命令createdb,dropdb很好。 使用本地PostgreSQL数据库在Ruby on Rails的RefineryCMS中运行了一个站点,所以我知道数据库中有数据并且正在工作-我似乎无法通过psql查询或修改它。 我想念什么? Mac OS X Lion,第v v 9.2。
12 postgresql  psql 

3
索引最大行大小错误
array列有上限吗? 插入数组字段时出现此错误- PG::Error: ERROR: index row size 3480 exceeds maximum 2712 for index "ix_data" 这是我的表格定义- create table test_array(id varchar(50), data text[]); ALTER TABLE test_array ADD PRIMARY KEY (id); CREATE INDEX ix_data ON test_array USING GIN (data); 我需要在数组字段上建立索引,因为我正在对其进行一些查询。

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.