我正在尝试识别我的数据库中最重的查询。在pg_stat_statements中,我发现了许多Hibernate生成的查询,如:
SELECT this_.ID as ID4_1_, this_.version as version4_1_ [...] where cat1_.name in ($1, $2, $3)
为什么会有像$1,2这样的参数.$n而不是实际值?是否可以使用pg_stat_statements记录实际值?在这种情况下,$n参数不是很有用。
我使用的是PostgreSQL 9.0.2
可以使用pg_query_params方法查询数据库,例如:
pg_query_params($connection, 'SELECT foo FROM bar WHERE id=$1 AND name=$2',array("Foobar","Qux"));
但是,当查询没有使用所有参数时,例如使用SELECT foo FROM bar WHERE id=$1查询时,会收到以下错误:
Query failed: ERROR: bind message supplies 2 parameters, but prepared statement
我在Postgres数据库中有一个GIN索引,我目前正在使用它进行全文搜索。因此,如果the向量场包含"mary有4只小羊羔“的矢量化形式,那么我可以用以下方法搜索"4只小羊羔”:
SELECT * FROM mytable WHERE text_index @@ to_tsquery('pg_catalog.english', '''4 little lambs'':*');
但是,如果我试图搜索"4只羔羊“,我需要:
SELECT * FROM mytable WHERE text_index @@ t
我尝试使用:rake db:drop db:create db:migrate删除和重置我的数据库,但由于某些原因,它没有工作。现在,当我尝试运行这个命令时,我得到:
FATAL: database "myapp_development" does not exist
FATAL: database "myapp_test" does not exist
ERROR: relation "posts" does not exist at character 315
STATEMENT: SELECT a.attna
创建数据库后,我将在这个空白/新数据库上通过脚本(带有适当的错误处理)使用PostgreSQL文件恢复.backup 8.4中的数据库。如果发生任何错误,脚本将中止整个进程,并将进程标记为失败。在数据库恢复期间,会生成以下错误:
pg_restore: connecting to database for restore
pg_restore: creating SCHEMA public
pg_restore: creating COMMENT SCHEMA public
pg_restore: creating PROCEDURAL LANGUAGE plpgsql
pg_restore:
我有一个Java/JDBC程序,它接受一个示例文件并将数据导入数据库,将其分解成多个关系。该程序多次对几种不同的表示形式执行此操作,其中一种表示使用大型对象。我可以分享这些表示的更多细节,但它们很长,与这个问题无关,因为我正在寻找一些通用的东西。
我想通过检查每次导入后数据库的大小来比较这些不同表示的大小。数据库位于PostgreSQL 9.4本地Windows服务器实例上,没有其他用户,也没有默认配置。它的唯一目的是进行这个测试。
我的初步计划如下:
for each representation {
call VACUUM ANALYZE
record old DB size wi
我在将本地数据库导入Heroku时遇到问题。我目前正在构建一个Django web应用程序,我尝试了解如何将本地数据库导入Heroku .I尝试使用pg:push命令推送本地Postgresql数据库,然后出现此错误 pg_restore: error: unrecognized data block type (0) while searching archive
! pg_restore errored with 1 你知道为什么会这样吗?
我正在尝试创建一个drop数据库脚本,我必须使用psql触发该脚本。
psql ... -f reset-database.sql -v dbname=$database
问题是我无法在我的脚本中访问变量:dbname。
DO
$$
BEGIN
IF EXISTS (SELECT EXISTS( SELECT datname FROM pg_catalog.pg_database WHERE datname = :dbname)) THEN
UPDATE pg_database SET datallowconn = 'false' WHERE datname =
exit status 1: pg_dump: error: server version: 15.1; pg_dump version: 14.2 pg_dump: error: aborting because of server version mismatch
为什么Postgresql版本落后那么多? 数据库,工具。
另外,要是不支持的话,提前一步【预检查】阶段提前说啊。
为什么LIKE/ILIKE不能与条件Case语句中的WHEN一起使用? SELECT
CASE
WHEN rating='NC-17' THEN 1
ELSE 0
END AS NC_17,
CASE
WHEN rating='R' THEN 1
ELSE 0
END AS R,
CASE
WHEN rating ILIKE 'pg' THEN 1
ELSE 0
END AS PG,
我有一个现有的Rails应用程序,它以前在我的本地笔记本电脑(运行OSX)上成功运行,数据库存储在PostgreSQL中。我还成功地将Rails应用程序部署到了带有RDS数据库的ElasticBean秸秆上--托管站点仍在运行。
我已经几个月没有接触本地主机版本了,今天我尝试使用rails server -e development启动它,但是当像往常一样访问时,我会收到PG错误消息。
PG::ConnectionBad at /要害:用户"murjfphxxxxxx“密码身份验证失败:主机"115.x.x.x”没有pg_hba.conf条目,用户"murjfphxx
当试图连接到Heroku托管的pGetting数据库时,请使用pGetting。
错误:主机"IP_ADDRESS“没有pg_hba.conf条目,用户”用户“,数据库"DBNAME",SSL off
这是我的密码。
import dotenv from 'dotenv'
import pg from 'pg'
import session from 'express-session'
import ConnectPgSimple from 'connect-pg-simple'
const resul
我想删除Postgresq数据库。在第一次尝试时,我得到: There are 15 other sessions using the database. 我这样做: REVOKE CONNECT ON DATABASE db1 FROM public;
SELECT pid, pg_terminate_backend(pid)
FROM pg_stat_activity
WHERE datname = current_database() AND pid <> pg_backend_pid(); 但这没有帮助-我仍然不能删除数据库,因为仍然有活动的会话。 我重新启动了p
我试图删除一个数据库,但是当我尝试删除它时,我会得到以下错误:
错误:其他用户正在访问数据库"mydb“
详细信息:还有24次使用数据库的会话。
我只想放下它,这样我就可以从备份中恢复它。基于另一个线程,我尝试这样做:
REVOKE CONNECT ON DATABASE mydb FROM public;
SELECT pg_terminate_backend(pg_stat_activity.pid)
FROM pg_stat_activity
WHERE pg_stat_activity.datname = 'mydb';
这不管用。我仍然收到错误信息
我正在尝试使用rails db:create为我的rails 5.0.0.1应用程序创建一个数据库,但收到以下错误:
Specified 'postgresql' for database adapter, but the gem is not loaded. Add `gem 'pg'` to your Gemfile (and ensure its version is at the minimum required by ActiveRecord).
关键是在我的Gemfile中有一个gem 'pg',它是在bundle install之后
我有一个来自PostgresSQL数据库的备份是这样创建的:
/usr/bin/pg_dump --no-owner --no-acl > dump.sql
当我试图在另一台机器上恢复时:
psql db < dump.sql它处理了许多错误:invalid command \N
当我尝试使用pg_restore时
pg_restore dump.sql -d db
不同的错误:pg_restore: [archiver] input file appears to be a text format dump. Please use psql.
根据的说法,这不应该是一个问题。
有