我正在尝试为我的rails应用程序使用postgresql数据库
我遵循了此链接中提供的教程:
http://blog.crowdint.com/2010/10/27/working-with-postgresql-and-rails3.html
我使用以下命令成功安装了postgresql:
sudo apt-get install postgresql postgresql-client postgresql-contrib libpq-dev libpgsql-ruby libgda-4
我正在使用PIN工具跟踪运行sql查询时的内存读写量。然而,奇怪的事情发生了。从运行中获取的用于读/写的pinatrace.out中的内存地址
/pin-t pinatrace.so--/usr/local/pgsql/bin/psql postgres/测试
。。。屏幕输出的地址可以在pinatrace.out中找到
这两个测试都是由postgres运行的,因为我将PIN的所有者更改为postgres
我真的很困惑。有人能指出发生了什么事吗?postgres是否以不同的方式分配内存,或者我可
我想使用来自另一个表的引用在表中添加一个新列,例如
必须在表A中添加元素A.x,从表B中提取元素B.x,其中B.y=“某些字符串”以及表A的其他元素将以类似方式使用其他表C、D插入。您的问题留有解释的余地
如果“其他元素”指的是其他列,则可能如下所示:
INSERT INTO a (x, col1, col2)
SELECT b.x, c.col1, d.col2
FROM b
JOIN c ON <join-condition>
JOIN d ON <join-c
嗯,我需要按逻辑顺序列出我的postgres数据库的所有表,以便删除数据而不会出现任何外键问题
我怎样才能找到那种信息
只有我需要列出表名。没有更多的信息
提前感谢如果需要删除数据,则会出现以下类似问题:
如果要删除表,请使用删除表x级联?使用CASCADEpostgres将自动删除所有依赖对象-表、视图等
我在为以下问题编写SQL时遇到了很大困难:
我在“答案”表中有以下数据库列
现在我想要一份会议列表,并计算该会议中每个问题的正确答案和错误答案。每个用户在一次会话中可能会多次回答同一个问题,我想知道在会话中第一次出现的问题中,有多少个得到了正确/不正确的回答。“创建日期”列决定了答案的顺序。我试图获得的结果应具有以下格式:
session_id text,
user_id integer,
questions_answered_correctly_first_time_in_session in
我对Postgres全文搜索还比较陌生,但仍在努力理解它。我正在研究如何在PostgreSQL全文搜索中优化此查询。查询如下所示:
SELECT articles.article_id, article_title, article_excerpt, article_author, article_link_perm, article_default_image, article_date_added, article_bias_avg, article_rating_avg, article_
您好,我对Zend Framework 2有问题
File:
/home/marketplace/htdocs/vendor/zendframework/zendframework/library/Zend/Db/Adapter/Driver/Pdo/Statement.php:240
Message:
SQLSTATE[42P01]: Undefined table: 7 ERROR: relation "users" does not exist
LINE 1: ...ELECT COUN
(版本pgpool-II-pg93-3.4.0-3pgdg.rhel6.x86_64.rpm)
不久前,我在网上看到了一些关于这方面的聊天,但我还没有找到解决办法
我有2台pgpool服务器运行流式复制和负载平衡。它们连接到3台postgres服务器。2个是虚拟机,1个是物理机
我更喜欢物理机器作为主服务器。我已经使用pcp_promote_node命令进行了测试,我看到show pool_节点;显示我选择为主节点的节点,但在postgres端,命令select pg_是_in_recovery
在Red Hat EL7上,我从标准存储库安装了Postgres,并以通常的方式初始化了数据库:
# postgresql-setup initdb
但当我尝试以以下方式启动服务时:
# systemctl start postgresql.service
我得到一个错误:
Job for postgresql.service failed. See 'systemctl status postgresql.service' and 'journalctl -xn' for details.
考虑下表定义:
CREATE TABLE keys
(
id bigint NOT NULL DEFAULT nextval('id_seq'::regclass),
key_value jsonb[] NOT NULL DEFAULT ARRAY[]::jsonb[],
)
该表现在包含以下值:
id | key_value
---|-----------
1 | {"{\"a\": \1\", \"b\": \&
示例代码如下:所有或任何操作员未工作。我需要比较数组的所有值
CREATE OR REPLACE FUNCTION public.sample_function(
tt_sample_function text)
RETURNS TABLE (..... )
LANGUAGE 'plpgsql'
COST 100
VOLATILE
ROWS 1000
AS $BODY$
declare
e record;
v_cnt IN
我在AWS RDS中有PostgreSQL数据库的版本A,在本地机器上有版本B。DB B是从DB a的转储创建的,并已在本地更新。我正在尝试将本地数据合并到RDS
A有B没有的数据,B有A没有的数据,因此我不能在pg_dump中使用-c标志(如中所示)
我使用pg_dump导出数据库:
pg_dump -f dump.sql mydb
我尝试使用psql将数据库导入RDS:
psql -h ABC.XYZ.eu-west-2.rds.amazonaws.com -U myself mydb &
我将Nest.js与TypeORM和Postgres一起使用
我试图做的是创建我的用户实体的实例。它有成员资格和文件字段,这些字段也是实体。它们与用户有一对一的关系,因此在创建用户时创建。如果出现任何错误,我希望回滚所有内容,因此我使用的是事务
这就是我正在做的:
异步创建(userProcessed:userProcessed):承诺{
常量响应:UserResponse={
消息:“未创建用户”,
成功:错,
用户:未定义,
};
const queryRunner=this.connect
我用altertable\uu重命名为重命名了我的表:
将TABLE foods重命名为food;
将餐桌食品营养素更名为食品营养素;
它起作用了,但是包含这些表名的其他数据库对象(如索引、序列和约束)没有更新。所以我必须手动更新它们,如下所示:
ALTER INDEX foods_pkey重命名为food_pkey;
将顺序食品_id_seq重命名为食品_id_seq;
将餐桌食品营养素更名为约束食品营养素食品id改为食品营养素食品id;
没有必要重新命名它们,但不这样做是不对的。我想知道
我试图找到一种方法来提高一些价值观,但我得到了一些意想不到的行为。例如:
db.Clauses(clause.OnConflict{
Columns: []clause.Column{{Name: "name"}},
DoUpdates: clause.AssignmentColumns([]string{"name", "email"}),
})
返回
ON CONFLICT(name)DO UPDATE SET
我应该如何编写activerecord迁移来反映这一点:
CREATE TABLE table (
c1 data_type,
c2 data_type,
c3 data_type,
UNIQUE (c2, c3)
);
在一列上添加唯一约束,但我要寻找的是在两列的组合上创建唯一约束,如本节中所述
编辑
更准确地说:上个月我有一个表账户和表余额
class CreateBalance < ActiveRecord::Migration[6.1]
def
所以,我有这个表,我们就叫它product
============================================
sku || valid_from || valid_to || price ||
============================================
AAA || 2021-01-26 || 2021-01-31 || 20000 ||
AAA || 2021-02-01 || 2021-02-15 || 15000 ||
AAB
我正在尝试用按字母顺序排列的键构建一个jsonb对象。
然而,似乎jsonb\u object\u agg(k,v)忽略了输入的顺序,并按键长度和字母顺序对输入进行排序
例如
从中选择jsonb_object_agg(k,v order by k)(
值('b','b_某物'),('ab','ab_某物'))
)as t(k,v)
给予
但我需要的是
{
"ab": "ab_something"
"b": "b_so
嗨,我使用动态多数据源,所以我的应用程序有一个主数据源“MasterDatasource”
这将把用户路由到他的数据库并为他创建一个数据源。我使用hibernate和spring boot Hikari数据源正确地配置了它
我的问题是:
在许多客户端连接到我的应用程序之后,我有很多连接(每个客户端都有自己的数据库和连接),我面临来自Postgres的问题,超级用户超过了最大连接数,我不想增加最大连接数。因此,我考虑使用PGBouncer池作为数据库层级别,并且我已经在应用程序级别使用Spring
在更正现有表以使用主键上的串行列时,我面临一个问题。为了模拟问题,我创建了一个新表:
CREATE TABLE markets."TestSequence" (
"Id" integer NOT NULL,
"Name" text COLLATE pg_catalog."default",
CONSTRAINT "PK_TestSequence" PRIMARY KEY (
(使用Postgres 9.5)
假设您有一个具有以下架构的Postgres表:
Table "public.tableA"
Column | Type | Collation | Nullable | Default
---------------+---------------
我有一个flask应用程序,我正试图将其部署到AWS,使用ECS和EC2以及postgres RDS作为我的数据库
我的EC2实例在公共子网中,我的RDS实例在私有子网中。都在同一个VPC上
通过使用ssh隧道进入EC2实例并将其用作堡垒主机,我成功地从本地计算机连接到RDS实例。我已经用pgadmin和我在flask应用程序中创建的自定义cli对此进行了测试。执行此操作时,我创建了数据库
我可以在EC2的公共DNS上运行我的ECS任务并使用我的应用程序。但是,如果我尝试使用使用Flask SQ
标签: Postgresql
privilegesgrantpostgresql-9.0pg-restore
我们有两台PostgreSQL服务器。在web服务器1pguser1上,是创建使用web应用程序所需的所有数据库对象的关联用户。比方说,所有对象都在schema1中
类似地,在server2pguser2上为Web服务器2创建数据
我从server1进行了架构备份(pgadmin备份窗口中的自定义选项)。当我恢复到server2时,我希望对象的所有特权和所有权都与pguser2有关,而与pguser1无关
如何做到这一点?如果可能的话,最好在恢复期间使用一个选项(pg_restore命令)。如果
我的外键有问题,这是个奇怪的问题
第一张表:
CREATE TABLE adjunto
(
id serial NOT NULL,
codigo text,
descripcion text,
usuario integer,
file integer,
nombre text,
propiedades hstore,
CONSTRAINT adjunto_pkey PRIMARY KEY (id ),
CONSTRAINT adjunto_file_fke
我想使用正则表达式从数据库表中获取数据。这就是我所做的:
def getDataRegExp(term: String): Seq[User] ={
DB.withConnection(
implicit connection =>
SQL("select * from user where pseudo ~ '^{term}'").on(
'term -> term
).as(User.simple *)
我想在pl/pgsql中生成UUID,我已经编写了这段代码。我没有错误,但是我在输出中看不到UUID,并且消息也没有出现
CREATE OR REPLACE FUNCTION generatesurrogat() RETURNS uuid[] AS
$BODY$DECLARE
uid UUID;
BEGIN
uid:=(select uuid_generate_v1());
RAISE NOTICE 'My UUID is',uid;
return uid;
END$BODY$
你能告诉我如
我试图将某个月的几个日期截短到一周的开始,但前一个月开始的日期除外
示例:
2012年12月5日星期三应缩短为2012年12月3日星期一
2012年12月1日星期六不应缩短为2012年11月26日星期一
要截断我使用的日期,请执行以下操作:
date_trunc('week', dates.d)
问题是,2012年12月1日星期六仍然被截断为2012年11月26日星期一
我可以给它添加一个约束条件,以便它考虑到月份吗
提前感谢:)
注意:我使用的是9.2版
GREATEST(date_trun
我在PostgreSQL中有此查询:
select p1.id, p2.id, p1.title, p2.title
from publication "p1", publication "p2"
where p1.title = p2.title and p1.id <> p2.id
我只需要第1行和第3行,或第2行和第4行。选择p1.id,p2.id
select p1.id, p2.id
, p1.title, p2.title
from publication p1
以下是我的简单匿名代码块:
do $$
declare foo varchar(50) := '';
begin
for a in
select a from (values('foo'), ('bar'), ('fooBar')) s(a)
loop
foo := a;
print foo;
end loop;
end;
$$;
当我运行它时:
psql -f test.sql
我得到这个错误:
psql:test.s
我有一个60列的表,我想对它进行垂直分区,
更像是把它划分成更多的小表格,再划分成列。
如何使用postgres 9.2在数据库中进行垂直分区?
谷歌做了很多,但找不到任何有用的东西
我要垂直分区的表是:
CREATE TABLE insurance.vt_owner
(
regn_no character varying(10) NOT NULL,
regn_dt timestamp without time zone,
purchase_dt timestamp without
标签: Postgresql
sql-order-byaggregate-functionspostgis
我有一个带有点几何图形的postgis表格
积分表:
具有相同uid的点是相同的目标。我正在尝试使用创建一个完整的目标行字符串
SELECT uid, ST_MakeLine(geom)
FROM points
GROUP BY uid
这是可行的,但我想确保各点的顺序正确。
我尝试在分组之前添加一个按日期排序的订单
SELECT uid, ST_MakeLine(geom)
FROM points
ORDER BY date <-- does not work
GROUP BY uid
是否可以从视图中删除行
如果是,我们如何在PostgreSQL中做到这一点
如果没有,还有什么选择?从9.3版开始,视图在PostgreSql中可以升级。
请参阅文档:(查找“可更新视图”),了解视图必须满足的条件才能“可更新”。
一个非常简单的例子:
create table tbl1
( rollnumber int,
name varchar) ;
insert into tbl1 values(1,'abc');
insert into tbl1 values(2,'def
我有一个使用如下子选择的查询
SELECT "columnA","columnB", (SELECT column1 FROM tableB WHERE id=1 LIMIT 1) as text
FROM tableA WHERE id=1
现在我只想从我的“as text”列中获取最后3个字符。我尝试在我的subselect周围应用子字符串或右键,但返回了一个错误,有人能解释为什么以及如何正确地执行此操作吗?您需要使用与POSIX正则表达式匹配的内部函数子字符串
SELECT "colum
我必须在PGAdmin中使用远程桌面连接备份数据库。我已在客户端计算机中安装了三个版本9.1、9.2、9.3。在服务器中,我正在使用9.3。在尝试备份时显示服务器版本不匹配错误。尽管我已安装了9.3版本,但不知道为什么它不工作
D:\Program Files\PostgreSQL\9.1\bin\pg_dump.exe --host 192.99.197.25 --port 5432 --username "postgres" --no-password --format custom --
我正在尝试创建一个表,该表将在两个方向上强制执行相同类型的两列的唯一组合。例如,这将是非法的:
col1 col2
1 2
2 1
我已经想到了这个,但它不起作用:
database=> \d+ friend;
Table "public.friend"
Column | Type | Modifiers | Storage | Stats ta
目前我正在使用重叠操作符,这样用户就不能插入重叠的日期。我创建了这个函数:
CREATE OR REPLACE FUNCTION overlap(docent_medewerkerscode1 CHARACTER(7),
lokaal1 TEXT, groep_groepsnaam1 TEXT, startdatum1 timestamp, einddatum1
timestamp)
RETURNS TEXT AS $$
DECLARE
resultaat TEXT;
我在PostgreSQL中构建了一个postgis表,其中包含一组多边形,这些多边形是连接许多较小多边形的结果。连接的结果是具有外部边界的多边形,其中一些多边形具有内部边界(内部多边形)。我喜欢去除内部边界
新表的构造包括:
insert into dl_table
select 1 as id_level, 18 as id_sublevel,
ST_snaptogrid(ST_Union(geom),0.0001) as geom
from small_
我目前在为postgresql设置角色方面遇到了困难。这是我已经做过的,但从昨晚开始,我取得了任何进展
simplybel@simplybel:~$ sudo -u postgres createuser --superuser $USER
sudo: unknown user: postgres
sudo: unable to initialize policy plugin
simplybel@simplybel:~$ sudo -u simplybel createuser --super
我在postgres有一个表:
create table fubar (
name1 text,
name2 text, ...,
key integer);
我想编写一个函数,在给定列名的情况下从fubar返回字段值:
function getFubarValues(col_name text, key integer) returns text ...
其中,getFubarValues返回键标识的行中指定列的值。看起来这应该很容易
我不知所措。有人能帮忙吗?谢谢。您可以使用动态SQL按
我有一个由许多用户共享的数据库,所有用户都在一个组“example”中,数据库中的绝大多数对象都属于“example”。偶尔,用户会创建一个新表-该表被分配给创建它的用户,因此其他用户无法更改新表
是否有办法将表的所有权自动设置为组“示例”而不是创建表的用户,也不是在创建选项卡之后设置触发器的方法,也不是设置组/权限的方法,这样所有用户都将被视为对象的所有者,而不管实际创建对象的是谁?您可以通过以下方式更改默认权限:
更改模式public中的默认权限将SELECT表授予public
或授予写访问
所以我一直在玩连接,并试图找到最好的方式来实现这一点
假设我有这些桌子。为了简洁起见,不要放所有的列。但是表A比表B多几列
Table A
---------
| id | member_id | data | updated
那么这张桌子
Table B
---------
| id | post_id | member_id | post_date
表B.post\u id是表a.
我在mytable的INSERT之后有一个调用函数的触发器
CREATE OR REPLACE FUNCTION myfunction() RETURNS trigger AS
$BODY$
DECLARE
index TEXT;
BEGIN
index := 'myIndex_' || NEW.id2::text;
IF to_regclass(index::cstring) IS NULL THEN
EX
看看下面的情况,它到底意味着什么?“fromCity”和“toCity”都是字符串,所以比较这两个词有意义吗
我们的目标是找到一种解决方案,确保表格在已经具有从X到Y的距离时,不会存储从Y到X的距离
CREATE TABLE Distances (
fromCity TEXT,
toCity TEXT,
distance INT,
CONSTRAINT only_one_direction CHECK (fromCity < toCity)
) ;
创建表格距离(
来自城市文本,
城市文
我想找到当前用户的搜索路径并永久修改它
我可以使用showsearch\u path找到它,但当我尝试使用下面的查询查找时,它将不返回任何内容
SELECT r.rolname, d.datname, rs.setconfig
FROM pg_db_role_setting rs
LEFT JOIN pg_roles r ON r.oid = rs.setrole
LEFT JOIN pg_database d ON d.oid = rs.setdatabase
WHE
我正在使用postgresql db for openproject。
我在前端网页中添加了两个自定义列,即实际开始日期和实际结束日期。
我需要记录一个项目实际日期的开始和结束。
我不知道这两列都创建了哪个表并存储了记录。
我的数据库有110个表,我很难逐个搜索每个表。
你能帮我查一下这两列吗。
提前感谢。这将为您提供架构名称以及特定列的表名
select t.table_schema,
t.table_name,
c.column_name
from inform
我正在使用docker和dockerfile构建图像。我想构建一个PostgreSQL映像,因此我使用此dockerfile:
ARG POSTGRES_USER=vetouz
ARG POSTGRES_PASSWORD=***
ARG POSTGRES_DB=vetouz_mediatheque
FROM postgres:latest
USER postgres
EXPOSE 5432
然后,我使用这个命令运行图像
docker run -e POSTGRES_PASSWORD=ve
我正在使用PostgreSQL,并试图同时查看两个表。是的,我已经知道union,但我的目标是在不使用union的情况下同时查看两个表。上图是我试图实现的目标,下图是我的错误。提前谢谢
应避免在此处粘贴屏幕截图。但在MSSQL控制台中,您正在执行两个单独的查询。它似乎允许这种语法(在我看来相当糟糕),这是SQL客户机的特性,而不是数据库。如果使用正确终止每条语句,会发生什么并以“脚本”的形式运行(如果在DBeaver中可能的话?)请参阅@a_horse_with_no_name,当我用分号正确
我有以下疑问:
CREATE MATERIALIZED VIEW tk AS
SELECT *
FROM base
WHERE ST_Contains(geo, POLYGON Z ((...some values ...)))
但我得到了一个错误:
syntax error at or near "Z"
geo字段是geometry字段类型
问题是什么以及如何解决?您的查询缺少单引号:
例如:
CREATE TABLE base (geo geometry);
INS
鉴于这些数据:
创建表foo
ts BIGINT不为空
数据JSONB不为空
;
插入到foo值中
0,“[{host:alice,value:10},{host:bob,value:5}]”,
60,“[{host:alice,value:20},{host:bob,value:6}]”;
如何创建CSV输出,例如:
时间到了,爱丽丝,鲍勃
0,10,5
60,20,6
注意,我在查询时不知道alice和bob的情况
我试过交叉表,例如:
将视图foo_元素创建为
选择
ts,
元素->>“主
我有一个PostgreSQL数据库和一个由事件组成的表。这些事件具有列end_time,该列具有类型timestamp(无时区信息)。在我的应用程序中,我经常查询表,试图选择将来发生的所有事件。所以基本上我在做这种SQL查询:
SELECT * FROM events WHERE end_time >= ?::timestamp
我目前在“结束时间”列上没有索引。我担心一旦我的表行大小变大(实际上它已经做了很多),对未来事件的搜索查询会变慢吗?因为现在数据库搜索必须遍历所有行,以选择将来
1 2 3 4 5 6 ...
下一页 最后一页 共 927 页