仅供参考:我对使用游标是完全陌生的。。。
所以我有一个函数是游标:
CREATE FUNCTION get_all_product_promos(refcursor, cursor_object_id integer) RETURNS refcursor AS '
BEGIN
OPEN $1 FOR SELECT *
FROM promos prom1
JOIN promo_objects ON (prom1.promo_i
我在Postgresql 9.1数据库上有一个“article”表和一个触发器,它在每次插入时通知通道
我想创建一个node.js脚本,用于捕获这些插入并使用Socket.io将通知推送到连接的客户端。到目前为止,我正在使用node postgres模块来侦听频道,但侦听查询似乎在大约10-15秒后超时,并停止捕捉插入内容。当超时发生时,我可以查询新的侦听,但我不确定如何正确实现延续
以下是我的postgresql通知过程:
CREATE FUNCTION article_insert_noti
标签: Postgresql
prepared-statementpostgresql-performance
使用PostgreSQL 9后端的应用程序存在扩展问题。我有一个表,它的大小约为4000万条记录,并且在不断增长,针对它的条件查询已经显著放缓
为了帮助找出问题所在,我拍摄了数据库的开发快照,并将查询和执行时间一起转储到日志中
现在是令人困惑的部分,以及问题的要点
日志中查询的运行时间与在DbVisualizer中运行“完全”相同的查询以获得解释计划时得到的运行时间相差很大(一个数量级)
我说“精确”,但实际上不同的是,应用程序使用的是一个准备好的语句,我在运行时将值绑定到该语句,而我在DbVi
我正在运行OSX,试图更改pg_hba.conf文件中的PostgreSQL身份验证选项。问题是我无法进入其中。我试过了
sudo su - postgres
然后用vi来编辑它。当我用vi打开文件时,vi会显示为一个新文件,只显示平铺线。如果我试图写那个新文件,我会得到一个错误,说我不能这样做
请帮忙,谢谢
这是我的目录:
$ sudo find / -name pg_hba.conf
Password:
find: /dev/fd/3: Not a directory
find: /dev
我有一个输入CSV文件,其中包含以下内容:
SD-32MM-1001,"100.00",4/11/2012
SD-32MM-1001,"1,000.00",4/12/2012
我试图将其复制到postgresql表(varchar、float8、date)中,但遇到错误:
# copy foo from '/tmp/foo.csv' with header csv;
ERROR: invalid input syntax for type double precision: "1,000.0
我有下表:
roles
id | name | person
---+-------+--------
1 | admin | jon
2 | admin | fred
3 | user | alfred
4 | user | jon
其中名称可以随任何值而变化
我希望得到一个JSON哈希,如下所示:
{"admin": ["jon", "fred"], "user": ["alfred", "jon"]}
使用PL/PGSQL,我将假设名称可能会有所不同,因为没有它就没有挑
我正在尝试获取与当前月份的第一天相对应的“日期”类型。基本上,我的一个表存储了一个日期,但我希望它始终是一个月的第一个,因此我尝试创建一个触发器,该触发器将获得now(),然后将日期替换为1。您可以使用表达式date\u trunc('month',current\u date)。用SELECT语句演示
select date_trunc('month', current_date)
2013-08-01 00:00:00-04
要删除时间,请强制转换为日期
select cast(date_
我有一张桌子:
CREATE TABLE TRANSACTION (
transaction_date date,
id_transaction int,
PRIMARY KEY (id_transaction)
);
我想将“transaction_date”字段的月份与月份数进行比较
SELECT *
FROM TRANSACTION T
WHERE month = transaction_date;
但我不知道如何进行这种转换
SELECT *
FROM TRANSACTION T
我正在尝试在以下系统上设置plypython:
Windows 8.1
PostgreSQL 9.2 64位
Python 2.7.05
当我跑步时:
CREATE EXTENSION plpython2u;
我得到:
ERROR: could not load library "C:/Program Files/PostgreSQL/9.2/lib/plpython2.dll": %1 is not a valid Win32 application.
这是设置问题还是.dll
我正在使用,到目前为止还不错,但是有一个问题。如果我的Postgres数据库上有两个模式,并且每个模式都有一个同名的表,那么代码生成器会创建重复的类,从而导致明显的错误。有没有办法避免这种情况?有没有办法在一个数据库中指定多个模式?这是一个已知问题:
您应该能够通过自定义代码生成器来解决这个问题。有人试图在那里
如何在Postgres中创建dblink连接而不提供用户名和密码(出于安全原因)
运行以下查询将返回此错误:
SELECT dblink_connect('conn_1','dbname=adatabase');
"could not establish connection 08001"
我的pgpass.conf文件有以下条目,我正在以pgAdmin中的postgres用户身份运行脚本:
localhost:5432:*:postgres:apassword
使用dblink\u co
如何使用Liquibase创建postgres数据库?
我想通过Liquibase执行以下命令:
create database db_name owner user_name;
drop database db_name;
如何使用Liquibase创建和删除postgres数据库?
我想通过Liquibase执行以下命令:
create database db_name owner user_name;
drop database db_name;
我可以使用
创建自己的bat文件
我已经根据我的要求创建了一个视图someView
ID | name
3 | A
4 | F
8 | G
13 | E
26 | Z
当我在where条件下传递ID时,我需要从视图中获取下一条记录
如果我通过了4级,我就可以回到8级。此外,如果我通过最后一个ID,它将返回第一条记录
如果我过了26岁,我就应该回到3岁
我一直在尝试使用滞后和超前,但没有任何效果。我也尝试了这个
DECLARE aaa SCROLL CURSOR FOR SEL
在eclipse中尝试运行应用程序时(运行方式>Java应用程序),出现以下错误:
但是当我在命令窗口中运行时(mvn spring boot:run),它运行得非常完美
Application.properties:
spring.jpa.database=POSTGRESQL
spring.datasource.platform=postgres
spring.jpa.show-sql=true
spring.jpa.hibernate.ddl-auto=create-drop
spring
我有一个RDS(Postgres)实例,存储SSD为1000GB,但数据大小只有100GB
如何轻松缩小RDS的存储资源?RDS不允许您减少分配给数据库实例的存储量,只允许增加存储量
要将数据库移动到较少的存储空间,您必须使用所需的存储空间创建一个新的RDS实例,然后使用pg_dump/pg_restore之类的方法将数据从旧数据库移动到新数据库
还要注意,具有1000GB SSD存储的RDS实例的基本IOPS为3000。具有100GB SSD存储的RDS实例的基本IOPS为300,偶尔会出现高
我正在将现有的Sybase系统迁移到PostgreSQL,在测试我的功能时遇到了问题。例如,我有以下代码
drop function if exists contract_line_ins(bigint, bigint, char(10), date, date, numeric(18, 0), numeric(18, 0), integer, bigint);
create function contract_line_ins (
in _contract_id bi
我是Postgresql的新手,我正在尝试创建这个表,实际上只是遵循一个类似的mysql表。但我一直在为ENUM()获取此错误
以下是创建表结构的查询:
CREATE TABLE IF NOT EXISTS gkb_users (
id bigint NOT NULL,
userid character varying(50) NOT NULL DEFAULT '',
password character varying(50) NOT NULL DEFAULT '',
firstname te
我想存储用户定义的段。一个段将由几个不同的规则组成。我想我要么创建一个单独的“规则”表,其中包含三列:属性名、运算符和值。例如,如果某个细分市场是美国的用户,则在其各自的列中规则为“country=US”。一个段可以有许多规则
另一个选项是通过Postgres将它们作为JSONB存储在段表的“Rules”列中。我会遵循与上面类似的模式,使用一系列规则或其他东西。每种方法的优缺点是什么
也许这两种方法都不正确。我会选择第一种方法,将数据片段单独存储在关系数据库中。听起来您的数据(段->规则)总是包
我正在掌握Postgres>=9.5中的JSONB功能(并且喜欢它),但遇到了一个绊脚石。我已经读过关于连接JSON字段的功能,所以'{“a”:1}'{“b”:2}'创建{“a”:1,“b”:2},但我想跨多行中的同一字段执行此操作。e、 g:
select row_concat_??(data) from table where field = 'value'
我发现了jsonb_object_agg函数,它听起来像是我想要的,只是show it包含多个参数,而我只有一个参数
你知道我该怎么
我想在云环境中构建Postgresql集群(是的,我知道这是个坏主意……但这不是问题)。
供您参考,我使用了一个停靠的Postgresql(请参阅:),但这不是问题所在,也不是问题所在
因此,我安装了2个带有流式复制的Postgresql 9.5。
在每台主机上,我都安装并正确配置了repmgr 3.2.1
以下案例存在一些问题:
阻止主人
等待从机上的故障切换->确定
重新启动旧主机->Ko我在repmgr cluster show显示的集群中有2个主机,我没有找到任何解决方案来强制旧主机成为
数据保存在Postgres数据库中(带有PostGIS扩展)。我有一个包含以下列的表:pid、几何体、父项。pID是主键,几何图形是用点描述的地理数据,父列包含此记录父项的pID。
这意味着我们希望表格的顺序如下:
A、 正方形(几何学),C
B、 正方形(几何学),C
C、 多边形(几何),D
D、 多边形(几何)\
我们面临的问题是,如果我们不知道最接近/最小的父多边形的初始顺序,如何找到它们。如果我们先处理C,然后可以添加D作为父级,但是如果我们从a和B开始,D不是正确的父级
如果您
标签: Postgresql
fieldauto-incrementunique-constraint
我有一个表,我想在其中放置有关文章使用的所有信息,我需要使用autoincrement创建一个列,如果字段tipo有另一个值,则ID可以具有相同的值,该值对于该特定ID是唯一的。例如:
ID / TIPO
1 / AJE -- Is Ok
1 / AJS -- Is Ok (because this Tipo is AJS, different from AJE)
1 / SI -- Is Ok
2 / AJE -- Is Ok (New ID)
2
正在尝试将我的第一个Phoenix应用程序连接到Compose的云托管Postgres DB,但我无法连接。我已经确认它已启动并正在运行。我得到以下错误:
[error] GenServer #PID<0.178.0> terminating
** (DBConnection.ConnectionError) tcp connect (postgres://*****@aws-us-east-1-portal.5.dblayer.com:16786/compose:5432): no
这是我正在尝试安装的数据库,附带4条简短说明,非常容易遵循:
我使用git clone将存储库带到我的vm。接下来我将cd放入其中并运行initialize_database.sh。发生的情况如下:
我尝试使用的密码是我的Bitnami启动板提供的,上面说管理员用户是postgres,但当我使用它时,它会说我的google帐户kzherbert。我试过su postgres,但它不是服务器上的用户,所以它不能像那样工作。我可以为psql-U postgres使用postgres密码,这将带我到
我正在尝试在本地计算机上设置pgbouncer。我有标准(安装后未更改任何内容)配置文件,其中包含以下条目:
postgres=host=127.0.0.1端口=5432
收听地址=*
监听端口=6432
auth_type=trust//也使用md5和普通测试
我的postgresql(9.4版)正在5432端口上运行。当我执行
psql-U postgres-p5432-d postgres
我可以成功连接。现在我正在尝试连接到pgbouncer
psql-U postgres-p6432-
数据库是HP Vertica 7或PostgreSQL 9
create table test (
id int,
card_id int,
tran_dt date,
amount int
);
insert into test values (1, 1, '2017-07-06', 10);
insert into test values (2, 1, '2017-06-01', 20);
insert into test values (3, 1, '2017-05-01', 30);
我的表有3列postgres 9.6:序列、时间戳、时钟名称
通常每行之间的间隔为1秒,但有时间隔更大
我试图得到两行之间的时间戳间隔大于10秒的情况,假设我将其限制为1000行
我想在一个查询中实现这一点,可能是select from select,但我不知道如何编写这样的查询,我的sql知识非常基础
任何帮助都将不胜感激您可以使用窗口功能检索给定当前记录的下一条记录
使用函数上的ORDER BY确保事情按时间戳顺序进行,并使用PARTITION保持时钟分开,您可以为每一行找到它后面的行
WI
我正在尝试使用一个旧版本的postgres,但我无法让它工作。当我运行brew search postgres时,我看到:
$ brew search postgresql
==> Searching local taps...
postgresql ✔ postgresql@9.4 ✔ postgresql@9.5 postgresql@9.6
$ brew switch postgresql 9.4
Error: postgresql do
当我安装postgresql时,brew当前安装v10.0。我需要它来安装v9.6,所以我安装了brewpostgresql@9.6但现在没有像psql、pg\u dump或pg\u restore这样的二进制文件。我有可能将它与v10.0混为一谈,只需安装两个版本,然后在v9.6中运行服务器,二进制文件将位于v10.0上。但是我现在想把所有东西都放在9.6版上。我怎样才能做到这一点
安装postgresql的两个版本,当前brew安装postgresql和旧版brew安装postgresql@
我正在尝试将tds fdw扩展添加到CentOS上新安装的Postgres 10中。
我已经为tds_fdw运行了make/install,但是在尝试
CREATE EXTENSION tds_fdw;
从PG Admin发送失败消息:
ERROR: could not load library "/usr/pgsql-10/lib/tds_fdw.so": /usr/pgsql-10/lib/tds_fdw.so: undefined symbol: Float4GetDatum
SQL s
在shell上运行此命令时,效果良好:
sqoop import --incremental append --check-column id_civilstatus --last-value -1
--connect jdbc:postgresql://somehost/somedb --username someuser
--password-file file:///passfile.txt --table sometable --direct -m 3
--target-dir /
我的postgresql 9.5数据库中有一个名为products的表。该表字段如下所示:
id name sales_area
1 prod1 A1
2 prod2 A1
3 prod3 A2
4 prod4 A3
身份证
名字
销售区
数据如下:
id name sales_area
1
我们正在从Oracle迁移到Postgres
这里是SQL,我用来从employee_name列中提取数据并用于报告
但现在我不知道如何做正则表达式计数部分。
Oracle SQL
with A4 as
(
select 'govinda j/INDIA_MH/9975215025' as employee_name from dual
)
select employee_name ,
TRIM(SUBSTR(upper(A4.employee_name),1,INSTR(A4.employ
在我的表demo中有一个名为“elements”的json字段,其中包含一个包含键值对的数组“data”。“数据”数组具有以下结构。数据数组可能有多个json条目
{
"data": [{
"ownr": "1",
"sigUsr": [2],
"sigStat": "APPR",
"modifiedOn": 1494229698039,
"isDel": "false",
"parentId
我需要通过几种方式选择订单结果。
当它是表TenderItem中的某个列时,它就工作了。
但如果它是json类型列TenderItem.ItemInfo中的某个键,则不起作用
按项目信息->>“名称”;-在简单选择中工作
**在这个字符串上,我有一个消息错误:大小写类型bigint和text不能匹配ItemId是bigint,而i.ItemInfo->“ABCSegment”是文本,它们是不兼容的类型,不能进行排序
尝试将该值显式转换为BIGINT,即
或者,如果由于无效的bigint值而导致上
我启动了以下命令,如本文档所示:
但我不知道如何解释stddev_时间,显然这可以显示导致问题的查询
我不明白如何解释以下值:
100.0 * shared_blks_hit / nullif(shared_blks_hit + shared_blks_read, 0) AS hit_percent
接近0或100时更好吗?stddev\u time显示此语句的执行时间。如果该值接近于零,则语句在运行时的执行时间大致相同
大的stddev_时间值意味着语句的运行时间变化很大,这可能是因为运行
我正在AWS EMR(EC2实例)上安装psql,它是AmazonLinux(不是AmazonLinux2)
运行命令后,我收到一个错误
sudo yum安装-y postgresql10
错误:包:postgresql10-10.7-2PGDG.rhel7.x86_64(pgdg10)
要求:systemd
AmazonLinux2附带systemd,但AWSEMR不支持AmazonLinux2
我如何在AWS EMR上安装psql客户端?您是否尝试(仅)安装psql客户端或完整的服务器软件
我正在编写一个脚本来从PostgreSQL实例导出数据子集,但在尝试以编程方式构造输出文件路径时遇到了一些麻烦
我希望能够做到的是:
psql -d mydb -f my_script.sql -v out_path="'/path/to/my/output/dir/'"
我用下面的简单示例尝试了这一点
将我的_表复制到:out_path | |“file.csv”和csv;
但是,这会导致以下错误:
psql:my_script.sql:4: ERROR: syntax error at
我正在寻找一种解决方案,我可以单击“打开事务”按钮,从现在起,对数据库所做的任何事情都存储在内存中。完成后,我可以点击“恢复”或“提交”
我们有一条非常艰难的测试之路。要测试单个操作,我们必须准备大量数据,恢复此操作非常困难或不可能。
我想要实现的是能够测试解决方案/操作/测试场景,并在im完成后返回数据库
打开事务或创建一些恢复点
执行测试这可以通过多个http请求和db连接来完成
恢复恢复点
显然,我不是在谈论与BEGIN的单一连接中完成的事务;犯罪和回滚 我们讨论了多少测试数据?我能想到一
标签: Postgresql
multidimensional-arrayvariadic-functionsstored-functionsplpython
我正在使用plpython3u处理一个结果,该结果包含任意数量的列,每个列都包含一个数组(不同长度>0)。在python中,我希望将这些数据作为多维数组进行处理,但我很难将它从Postgres导入到我的函数中
我使用的函数声明如下所示:
CREATE或REPLACE函数可以设置覆盖(可变参数数值[])
问题是当我尝试
SELECT是否可以设置覆盖(数组[1,2],数组[1,2]);
我得到:
没有与给定名称和参数类型匹配的函数。您可能需要添加显式类型转换
如果我传入(数组[1,2]),函数将
我想从默认的64M调整postgres容器的共享内存大小。因此,我补充说:
build:
context: .
shm_size: '2gb'
我使用的是compose文件的3.6版,postgres服务定义
version: "3.6"
services:
#other services go here..
postgres:
restart: always
image: postgres:10
hostname: postgres
我试图将查询创建为字符串并在PostgreSQL 10中执行
据我所知,我可以使用EXECUTE命令从定义的字符串执行查询
不幸的是,我遇到了一个错误:SQL错误[42601]:错误:在“execute”处或附近出现语法错误。
下面是我的代码:
drop table if exists delinquent;
create table delinquent
(
report_date date
,account_id text
)
;
INSERT INTO delinque
在postgres中是否可以创建一个表的视图,该表的列与原始表的列相同,只是行在时间上进行了上采样
到目前为止,我发现的大多数示例都与平均/降采样有关
例如,假设我有一个表“data”,其中包含列:
+---------------------+---+---+
| time | x | y |
+---------------------+---+---+
| 2019-07-17 21:00:00 | 4 | 8 |
| 2019-07-17 21:10:00
假设我想创建一个索引。这需要一些时间。我使用pgadmin。假设在执行查询时,pgadmin由于某种原因崩溃(例如计算机重新启动)
该索引的状态如何。它是否会继续被创造,最终在某一点上它会被成功创造,或者它会立即失败,或者它会在一段时间后失败
有没有办法检查正在创建的索引的状态?(我使用的是postgres 10.x版)如果我们不知道应用程序崩溃的原因,那么很难回答这个问题。如果不是由服务器故障引起的,则很可能索引创建正确。您可以通过查询系统目录pg\u索引来检查这一点。您必须知道索引名称,例如
我有两张桌子:
附表:
idINT
每日日程安排idINT
开始时间戳
完成时间戳
每日时间表:
idINT
日期日期
我想为计划添加一个约束。开始和计划。完成检查每日计划的值。日期。有没有一个简单的方法来实现这一点
大致如下:
ALTER TABLE schedules
ADD CONSTRAINT schedules_date_range_check CHECK (start = daily_schedules.date AND finish = daily_schedul
我想创建一个触发器,它将执行一个存储过程,该过程将更新几行。当我使用Call方法测试该过程时,该过程工作,但触发器找不到它,错误是函数不存在。
这是我的程序
create or replace PROCEDURE update_reg_location(latitude text, longitude text,userid int)
LANGUAGE SQL
AS $$
update users set reg_lat=latitude , reg_lon=longitude where id
当我混合使用yyyy-mm-dd格式(如2000-12-31)、yyy-mm和yyy时,我应该如何在PostgreSQL中存储日期?我还可以使用日期列吗?to_DATE()函数可以解析不完整的日期。如果缺少日期,则默认日期为01。如果两者都缺失,则它将按天和月默认为01。如果传递空字符串,则整个表达式将默认为0001-01-01 BC:
=# select to_date('2020', 'yyyy-mm-dd');
to_date
------------
2020-01-01
(1 r
目前,我正在使用云代理连接到Postgres Cloud SQL数据库作为一个侧车。然而,当使用Istio时,它引入了自己的侧车,这导致pod中有两个代理。所以我想,加密连接是否也可以使用Istio建立
基本上
编辑:可能是相同的问题:
所以我最终得到了这样的结果
apiVersion: networking.istio.io/v1beta1
kind: ServiceEntry
metadata:
name: external-db
spec:
hosts:
- exter
我有几种类型的用户:拳击手、裁判、观众、推广人、场地提供商。
它们都有一些参数,有些是通用的,有些是特定的。我认为,为每种类型的用户提供一个单独的表是合乎逻辑的。每个这样的表将只存储与特定类型的用户数据相关的数据
从这里提供的文档中,我可以看到:
TypeOrm提出了许多暗示继承的解决方案,但它们都是为了减少代码量。例如,名为Single Table Inheritation的模式允许在代码方面对实体进行一些分离,但是所有类型的用户都会被转储到一个表中,这从模式的名称来看是显而易见的。其他的解
问题陈述
在PostgreSQL 10.7中,我有一个查询,它在subselect中使用'SELECT。。对于无键更新,跳过“锁定”并聚合另一个表中的行。
在聚合表中使用select和insert并发执行两个事务时,当insert成功时,我能够观察到状态,但select没有获取它并保持未处理状态
复制步骤
数据库设置:
CREATE TABLE customer (id SERIAL PRIMARY KEY);
CREATE TABLE transaction (id SERIAL PRIMAR
1 2 3 4 5 6 ...
下一页 最后一页 共 697 页