我试图从数据库中仅删除一项数据,但是,当我编写命令时,我不断收到一些语法错误,您能告诉我错误在哪里吗?
这是我尝试过的命令:
DELETE FROM database_userprofile WHERE user.username = 'some';
ERROR: syntax error at or near "."
LINE 1: DELETE FROM database_userprofile WHERE user.username = 'some'...
DELETE FROM database_userprofile USING database_user WHERE user.username="some";
ERROR: syntax error at or near "."
LINE 1: ... database_userprofile USING database_user WHERE user.username=...
Run Code Online (Sandbox Code Playgroud)
希望你能帮我
我查看了postgres文档,下面给出了概要:
pg_resetxlog [-f] [-n] [-ooid ] [-x xid ] [-e xid_epoch ] [-m mxid ] [-O mxoff ] [-l timelineid,fileid,seg ] datadir
Run Code Online (Sandbox Code Playgroud)
但是在文档中没有任何地方可以解释数据的含义.是它%postgres-path%/9.0/data还是可能%postgres-path%/9.0/data/pgxlog?
另外,如果我想更改我的xlog目录,我可以简单地移动当前pg_xlog目录中的项目并运行命令指向另一个目录吗?(假设我现在的pg_xlog里面的目录是在/data1/postgres/data/pg_xlog和目录我想要的日志,去的是:/data2/pg_xlog)
以下命令会实现我刚才描述的吗?
mv /data1/postgres/data/pg_xlog /data2/pg_xlog
pg_resetxlog /data2
Run Code Online (Sandbox Code Playgroud) 我目前有以下内容:
User (id, fname, lname, deleted_at, guest)
Run Code Online (Sandbox Code Playgroud)
我可以通过它们的fname初始查询用户列表,如下所示:
User Load (9.6ms) SELECT "users".* FROM "users" WHERE (users.deleted_at IS NULL) AND (lower(left(fname, 1)) = 's') ORDER BY fname ASC LIMIT 25 OFFSET 0
Run Code Online (Sandbox Code Playgroud)
由于以下索引,这很快:
CREATE INDEX users_multi_idx
ON users (lower(left(fname, 1)), fname)
WHERE deleted_at IS NULL;
Run Code Online (Sandbox Code Playgroud)
我现在想要做的是能够查询所有不以字母AZ开头的用户.我这样做是这样的:
SELECT "users".* FROM "users" WHERE (users.deleted_at IS NULL) AND (lower(left(fname, 1)) ~ E'^[^a-zA-Z].*') ORDER BY fname ASC LIMIT 25 OFFSET 0
Run Code Online (Sandbox Code Playgroud)
但问题是这个查询非常慢并且似乎没有使用索引来加速第一个查询.关于如何优雅地使第二个查询(非az)更快的任何建议?
我正在使用带有rails 3.2的Postgres 9.1
谢谢
postgresql ruby-on-rails ruby-on-rails-3 postgresql-performance
我有一个网站,用户可以在其中浏览搜索结果。记住用户查看过哪些结果并将其标记为 会很有用Viewed。
问题:要实现这样的Recently Viewed列表功能,推荐的方法是什么?
使用像 MySQL 这样的 RDBMS。每次用户单击链接时,都会向服务器发出 AJAX 调用,以将新行插入views包含列id、user_id、item_id、的表中timestamp。在显示任何搜索结果之前,每个项目都将id根据表格views进行检查,以确定该列表是否会被标记为viewed。
(如果这有帮助,我的 PHP 框架 Laravel 可以使用数据库或 redis 作为会话驱动程序,而不是使用 cookie)
使用像 Redis 这样的内存数据存储。我没有redis/memcached的经验,之所以想到用这个,是因为对viewed表的写入量很大,而读取主要是按主键选择的(Redis里有索引的概念吗?)
感谢您的任何建议和意见,尤其是那些对这两种技术有经验的人。
以下是plpgsql函数的一部分.问题是,结果source_geom并target_geom是character varying数据类型,因此我需要两个环绕source_geom,并target_geom在引号("").问题是在plpgsql语言中我怎么不知道我能做到.
这就是我现在所拥有的:
EXECUTE 'update ' || quote_ident(geom_table) ||
' SET source = ' || source_geom ||
', target = ' || target_geom ||
' WHERE ' || quote_ident(gid_cname) || ' = ' || _r.id;
Run Code Online (Sandbox Code Playgroud)
我遇到的错误如下:
ERROR: syntax error at or near "C03B9E3B66052D400DDEFC2BD0F24140"
LINE 1: ...pdate track_points SET source = 0101000020E6100000C03B9E3B66...
^
QUERY: update track_points SET source = 0101000020E6100000C03B9E3B66052D400DDEFC2BD0F24140, target = 0101000020E610000075690DEF83052D40F88E75CCD4F24140 WHERE ogc_fid = 2
CONTEXT: PL/pgSQL function "create_network" …Run Code Online (Sandbox Code Playgroud) 我有一个日期时间字段为"updated_at"的表.我的很多查询都会使用范围查询来查询此字段,例如update_at>某个日期的行.
我已经为updated_at添加了一个索引,但是我的大多数查询仍然非常慢,即使我对返回的行数有限制.
我还可以做些什么来优化查询日期时间字段的查询?
我正在使用环回来进行API设计和数据建模.我使用MySQL作为我的数据库.虽然我的API rest URL成功返回结果,例如/states/{id}/cities.我有以下模型,但似乎没有添加外键关系.以下是我的模型定义.
"state": {
"options": {
"relations": {
"cities": {
"type": "hasMany",
"model": "city",
"foreignKey": "stateId"
}
}
},
"properties": {
"name": {
"type": "string"
}
},
"public": true,
"dataSource": "db",
"plural": "states"
},
"city": {
"options": {
"relations": {
"state": {
"type": "belongsTo",
"model": "state",
"foreignKey": "stateId"
}
}
},
"properties": {
"name": {
"type": "string"
}
},
"public": true,
"dataSource": "db",
"plural": "cities"
}
Run Code Online (Sandbox Code Playgroud)
以下是城市表的截图.

以下是状态表截图.

我可能在这里做错了.期待任何指针.
我正在使用 Mac OS X 10.8.5 并尝试使用自制软件安装 postgreSQL。我修复了运行brew info postgresql 时发生的几个错误和警告。但是,我不知道如何解决其余问题。
\n\n$brew 信息 postgresql
\n\npostgresql: stable 9.3.2 (bottled)\nhttp://www.postgresql.org/\nConflicts with: postgres-xc\n/usr/local/Cellar/postgresql/9.3.2 (2924 files, 40M) *\n Poured from bottle\nFrom: https://github.com/Homebrew/homebrew/commits/master/Library/Formula/postgresql.rb\n==> Dependencies\nRequired: readline \xe2\x9c\x94\nRecommended: ossp-uuid \xe2\x9c\x94\n==> Options\n--32-bit\n Build 32-bit only\n--enable-dtrace\n Build with DTrace support\n--no-perl\n Build without Perl support\n--no-tcl\n Build without Tcl support\n--without-ossp-uuid\n Build without ossp-uuid support\n--without-python\n Build without python support\n==> Caveats\nIf builds of PostgreSQL 9 are failing and you have version 8.x installed,\nyou may need to remove the previous version first. See:\n …Run Code Online (Sandbox Code Playgroud) 使用 Mac OS X 10.10 (Yosemite) 和 Homebrew (0.9.5),我安装了 PostgreSQL 9.4.1。截至本文发布时,基本上所有当前版本...
我已经成功地导入了一个非常大的数据库(5600 万条记录 - 导入需要 15 个小时),并编写了一个应用程序以在本地使用它。我找到了一个应用程序 pgAdmin3,它可以让我使用 GUI 执行各种管理任务。一切都很好。
每次我重新启动计算机时,一次是由于 USB 火线音频接口的内核崩溃,一次是由于电源故障,两次是由于用户启动的重新启动 - 每次重新启动后,数据库都是空的。数据库用户/角色仍然存在,表和关系也存在,但是,所有表都是空的。0 条记录。没有。pgAdmin3 甚至显示该表已为数百万条记录分配了空间,其计数为“未定义”。刷新计数,显示 0 条记录。浏览数据显示 0 条记录。我的 Mac 应用程序(使用 libpq)成功连接到数据库,并从其任何/所有 SELECT 语句中获得 0 结果。提到每次重新导入数据库需要 15 个小时是多余的吗?(反问)
任何和所有建议表示赞赏。
Mac OS X 10.0.2 (Yosemite) Homebrew 0.9.5 PostgreSQL 9.4.1 on x86_64-apple-darwin14.1.0,由 Apple LLVM 6.0 版 (clang-600.0.56) 编译(基于 LLVM 3.5svn),64 位
有没有办法扩展 kustomize 图像转换器以将更多键识别为图像说明符?就像nameReference变压器对namePrefix和nameSuffix变压器所做的那样。
Kustomizeimages:转换器对于 k8s 清单中的图像替换和注册表重命名非常有用。
但它只支持嵌入的类型PodTemplate,也许还有一些硬编码的类型。不使用的 CRDPodTemplate不会被处理,尽管它们很常见。示例包括kube-prometheus Prometheus和AlertManager资源以及opentelemetry-operator OpenTelemetryCollector资源。
因此,您必须维护一堆混乱的战略合并或 json 补丁,以使用受信任的注册表等为此类图像添加前缀。
这是目前问题的一个例子。假设我必须部署以mytrusted.registry变压器images:列表为前缀的所有内容。为了简洁起见,我将使用一个虚拟图像来替换所有匹配的图像MATCHED,因此我不必将它们全部列出:
apiVersion: kustomize.config.k8s.io/v1beta1
kind: Kustomization
resources:
- "https://github.com/prometheus-operator/kube-prometheus"
images:
- name: "(.*)"
newName: "MATCHED"
newTag: "fake"
Run Code Online (Sandbox Code Playgroud)
您可能期望结果中唯一的图像是“MATCHED:fake”,但实际上:
$ kustomize build | grep 'image: .*' | sort | uniq -c
12 image: MATCHED:fake
1 image: quay.io/prometheus/alertmanager:v0.24.0
1 image: …Run Code Online (Sandbox Code Playgroud) postgresql ×7
database ×2
macos ×2
sql ×2
delete-row ×1
dynamic-sql ×1
homebrew ×1
kubernetes ×1
kustomize ×1
loopbackjs ×1
memcached ×1
mysql ×1
performance ×1
pg ×1
php ×1
plpgsql ×1
redis ×1
row ×1
sql-delete ×1