Warning: file_get_contents(/data/phpspider/zhask/data//catemap/4/postgresql/9.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
 Postgresql_IT技术博客_编程技术问答 - 「Fatal编程技术网」

PostgreSQL存储过程数据参数

我有下面的存储过程,它返回0个结果,但是如果查询本身运行,它会产生很多结果。我错过了什么 CREATE OR REPLACE FUNCTION countStatistics(baselineDate Date) RETURNS int AS $$ DECLARE qty int; BEGIN SELECT COUNT(*) INTO qty FROM statistics WHERE time_stamp = baselineDate; RETURN qty; END;

Postgresql 有没有办法为Zend_Db连接设置搜索路径?

我有一个Postgres数据库,其中的表分布在多个模式中。对于那些没有指定模式名称的表,我有大量预先存在的模型(最初的设计是将所有表都放在单个模式下) 有没有一种方法可以定义Zend_Db连接的自定义搜索路径,其中PDO_PGSQL是驱动程序 谢谢 使用 ALTER ROLE foo SET search_path = bar, baz; 其中foo是您使用的数据库用户名。(如有必要,对其他用户名重复此操作。)

Postgresql 在Sphinx中运行预索引器脚本以将数据从一个数据库复制到另一个数据库

我正在使用Sphinx索引Postgres DB上的一些表。Sphinx似乎有一个可以执行的索引前查询: 这可以用于通过DB链接将数据从另一个DB批量复制插入到我正在索引的DB中吗 INSERT INTO table1 SELECT * FROM dblink('dbname=db2', 'SELECT * FROM table2 WHERE id = 10') AS t1(id integer, name varchar, address varchar); 我看到的大多数示例都用于设置会

如何在没有用户输入/密码的情况下从命令行执行PostgreSQL脚本文件

在安装我的应用程序的过程中,我想创建一个PostgreSQL数据库以及一些表和函数 为此,我使用PostgreSQL附带的PSQL.EXE。我有两个脚本。第一个创建数据库和相应的用户,该用户有权在该数据库上执行脚本。我想执行第二个脚本,因为这是刚刚创建的用户。不幸的是,我找不到一种方法将该用户的密码作为命令行参数传递。省略密码会导致执行停止,并提示用户输入密码,这是我希望避免的,因为这是在安装我的应用程序时执行的 是否有任何方法可以将密码作为参数传递,或者是否有任何其他命令行工具可以使用 进一步

关于删除级联的postgresql

我有两张桌子: TableY: id, name, description TableX: id, name, y_id 我在TableX中添加了一个外键(y\u id引用了DELETE CASCADE上的tableY id)。 当我从TableX中删除时,TableYid保留下来(理论上应该删除它)。 我想我误解了DELETE CASCADE选项的工作原理。谁知道我做错了什么 我也看到了这一点,但对我来说没有多大意义。我想你误解了。尝试从TableY中删除行,将级联删除Ta

如何使用函数在PostgreSQL中生成随机唯一数

在PostgreSQL中,如何为列生成随机唯一整数, 返回表列中不存在的内容?请参阅函数,该函数基于该技术实现排列。结合postgres序列,这保证了结果的唯一性,以及人眼的随机性 例如: CREATE OR REPLACE FUNCTION pseudo_encrypt(VALUE int) returns int AS $$ DECLARE l1 int; l2 int; r1 int; r2 int; i int:=0; BEGIN l1:= (VALUE >> 16) &a

如何将mwdumper与Postgresql命令行一起使用

我正在使用mwdumper和MySql导入MediaWiki数据库。现在我需要做同样的事情,但是使用Postgresql 基本上我在这个链接中得到了一个存档: 我使用mwdumper程序获取信息并将其放入数据库 这是数据库脚本: 我通过这个sql创建了数据库,现在我需要使用mwdumper将数据放入数据库中。 我看到了很多关于这个的链接,但只在MySql中看到 有人知道如何使用Postgres和命令行进行导入吗 Mwdumper:www.mediawiki.org/wiki/Manual:

如何通过PostgreSQL专门存储密码

如何在PostgreSQL中专门存储密码?我知道可以与PostgreSQL一起使用的库,如下所述: INSERT INTO users (name, password) VALUES ('jdoe', crypt('password', gen_salt('md5'))); 但是,密码仍有可能以明文形式存储在PostgreSQL server日志中。另一个复杂的因素是我不能直接控制日志配置 是否有任何方法可以完全隐藏服务器列中的值,甚至从日志中隐藏?此时:加密客户端是否使用内置的Postgre

Postgresql 如何通过SQL命令更改Postgres的最大连接数

我们有一个托管的PostgreSQL,无法访问系统或*.conf文件 我有管理员权限,可以使用Oracle SQL developer连接到它。 我可以运行任何命令来增加最大连接数吗。所有其他参数似乎都正常,共享内存和缓冲区可以容纳更多连接,因此没有问题。显然,我们使用的托管Postgres不提供此选项。(compose.io) 因此,解决方法是使用pgbouncer更好地管理您的连接。更改max\u connection参数需要Postgres重新启动 命令 检查max_连接以记住当前值 SH

如何使用带有ANSI编码的postgresql copy命令?

我使用PostgreSQL copy命令生成csv文件 COPY (select * from table) from '/tmp/123456.csv' with csv header encoding 'UTF8'; 此命令正常 但我想用ANSI编码制作文件,因为我想在MicrosoftExcel中打开它 COPY (select * from table) from '/tmp/123456.csv' with csv header encoding 'ANSI'; 此命令无法生成cs

PostgreSQL上的透视行

我有一个返回整行的查询,我需要将这个结果透视到一个新表中 SELECT id_no, stud_name, group_no, class_1, class_2, class_3, class_4 FROM tbl_stud_class 这将返回以下内容: | id_no | stud_name | group_no | class_1 | class_2 | class_3 | class 4 | | 1 | John Doe | A11 | 84 | 60

PostgreSQL如何检查case语句中整数的范围

我在获取查询时遇到问题,在该查询中,我有一个范围内的检查用户分数以显示等级,如果用户分数在75到100之间,则为a。如果用户分数在60到75之间,则为B和。。等等 我得到了这个值 CASE users.points_earned WHEN 75-100 THEN 'A+' WHEN 60-75 THEN 'A' WHEN 40-60 THEN 'B+' WHEN 1--40 THEN 'B' ELSE 'Absent' end as ran

从HSQL迁移到PostgreSQL后尝试启动Liferay时发生IOException

我将本机lportalDB从高超音速转换为PostgreSQL。使用我的PostgreSQL配置添加了portal-ext.properties文件,并将PostgreSQL-42.1.1添加到D:\files\liferay-ce-portal-7.0-ga3\tomcat-8.0.32\lib\ext # PostgreSQL # jdbc.default.driverClassName=org.postgresql.Driver jdbc.default.url=jdbc:postgres

Postgresql 将文本转换为数字

我有两张桌子,有两个柱状图: Tab1.Number1 (BigInt) 100000 100001 tab2.Number2 (character varying) 10000_300 10001_301 90009_222 我需要进行一次选择,以显示具有相同值的行(不带“25;”) 我试图用 to_编号(tab2.Number2,99999) 但它不起作用: to_number(character varying, integer) does not exist. 数据库是postgr

Postgresql Postgres用户权限不起作用

我已经创建了一个Postgres用户user1,并将所有权限授予了my_db,当我尝试从数据库中选择一个表时,我收到一个权限被拒绝的错误 创建用户1 >>zya$ psql -d postgres psql (9.6.3) Type "help" for help. postgres=# CREATE USER user1 WITH PASSWORD 'password1'; CREATE ROLE postgres=# GRANT ALL PRIVILEGES ON DATABA

Postgresql Can';t使用docker compose设置Postgres的密码

我无法使用Docker compose为Postgres设置密码。Postgres加载时没有密码,默认用户名为“Postgres”,下面的环境变量中似乎没有一个被应用。下面是我的docker-compose.yml文件的db服务:(版本3) 注意:我也尝试过使用“-POSTGRES\u USER=”,但没有成功 此外,我还删除了所有旧容器/卷 有什么想法吗?您的配置对我来说很好。我怀疑您没有使用完整的正确凭据集,包括用户名、密码和数据库名。如果我以您的示例docker compose.yaml为

Postgresql Postgres解释索引的位置

我试图从postgresEXPLAIN输出中理解一些道理。我想了解在不同的场景中,在何处放置索引 一个例子是: EXPLAIN for: SELECT "users".* FROM "users" INNER JOIN "user_sessions" ON "user_sessions"."user_id" = "users"."id" WHERE "user_sessions"."token" = $1 AND (user_sessions.expires_at > '2017-09-2

条件表达式postgresql从案例中获取结果

查看Postgresql中的条件表达式。更准确地说,例如 我似乎不知道现在如何访问amod下的结果(一、二和其他)。在四处寻找之后,我还没有找到解决它的方法。有关于如何做的建议吗 编辑:我要寻找的是能够从case表达式中选择amod并将其作为表格输出。您希望对该“结果”做什么?与我可以从测试中选择amod的方式相同,我希望从case表达式的结果中选择amod。感谢您的复制。这就解决了问题 SELECT * FROM test; a --- 1 2 3 SELECT a,

Postgresql 小更新导致挂起问题

PostgreSQL 9.5 一个非常小的更新SQL会像挂起一样长时间使用非常高的CPU。 我的Windows控制台应用程序使用一个简单的UPDATE语句更新最新时间,如下所示 UPDATE META_TABLE SET latest_time = current_timestamp WHERE host = 'MY_HOST' 只有两个控制台应用程序在SQL上面发布 META_表上没有索引 只有一排 当它挂起时,没有锁信息 没有挂钩的桌子 pg_stat_活动中的空闲状态 更新后提交 在

Postgresql 可以为slick hikaricp设置查询超时吗?

我有一个play scala应用程序,它使用光滑的hikaricp。我知道有办法设置连接超时,但我想设置一个查询超时。我有一些缓慢的查询,如果它们需要3秒钟以上,我想用超时设置来停止它们。我进行了搜索,bonecp提供了一个名为“queryExecuteTimeLimit”的参数,但我找不到hikaricp的设置。您知道如何设置查询超时吗?您是否尝试过使用Slick来设置查询超时?比如说, myTable.result.withStatementParameters(statementInit

无pg_转储的PostgreSQL提取结构(DDL)

是否有任何选项仅使用标准查询从PostgreSQL buy中提取模式结构(DDL) 我目前正在使用pg_dump,但我想开发一个比较两个模式的简单应用程序,而不需要在本地安装任何东西,这并不容易。您可以查看pg_dump的源代码,了解它是如何实现的。它主要对目录使用标准查询,但使用的目录太多了 服务器上有一些功能可以帮助您解决问题,您可以使用以下功能查看一些功能: \df *def 如果您愿意走捷径,比如只查看表、索引(?)和视图,而不是查看所有对象,则可以使操作简单得多。并且只支持一个Pos

PostgreSQL-按数组的位置排序,并在另一列上区分

我有一个类似这样的查询(实际的查询和表更复杂): 这给了我一个按特定顺序排列的类别名称列表(数组传递的uuid顺序)。例如: 789 CDX "Cat D" 123 KDJ "Cat A" 456 PLM "Cat B" 123 OLA "Cat F" 456 OWK "Cat X" 123 CAT "Cat Z" 我想做的是在该查询中添加一个独特的ON'item.other_uid'。因此,得出的清单将是: 789 CDX "Cat D" 123 KDJ "Cat A" 456 CAT "C

Postgresql 在流式复制过程中发送Postgres复制大小

我想问一个关于postgresql-12流式复制的问题。我只想知道通过复制发送的文件/数据/数据包的大小,标准配置为每段16MB大小。它将在每笔交易中发送16MB或更少的数据?除了tcpdump或wireshark之外,任何其他工具都可以找到它。谢谢。每当WAL记录写入WAL缓冲区共享内存区域时,它将立即流式传输到待机区。WAL记录的大小是可变的。即使在交易结束之前,WAL也可以流式传输到待机状态。你说得对。我做了iftop,可以看到网络使用情况。非常感谢。

Postgresql 在psql cli中使用\set变量在正常查询中工作,但在\copy中不工作/扩展

如标题所述,问题在于使用\set设置的psql变量对我有效,除非在\copy功能中使用psql客户端提供的 在\copy中引用psql变量是否需要一些特殊语法?还是我运气不好?如果是这样的话,这有没有记录在案 我在StackOverflow中找不到这个问题,也没有任何文档记录。我看了大约20个帖子,但什么也没找到。我还检查了(CLI的版本)并没有发现任何关于这方面的警告-我在页面中搜索了“variable”,但没有找到任何与此相关的内容。我还搜索了“扩展”和“扩展”,但什么也没找到。所以现在我在

具有空值的Postgresql联接

我很难回答这个问题。 我的表格和数据: CREATE SEQUENCE a_files_id_seq INCREMENT 1 MINVALUE 1 MAXVALUE 2147483647 START 1 CACHE 1; CREATE TABLE "public"."a_files" ( "id" integer DEFAULT nextval('a_files_id_seq') NOT NULL, "fil

Postgresql postgres循环记录检索语法错误

我有一个循环,它抛出一个错误: SQL错误[42601]:错误:语法错误位于或接近“.”位置:435 我想我可以通过说s_row.schema来引用记录行内容,但我在这里遗漏了一些东西。请尝试使用动态SQL ... EXECUTE format('REVOKE ALL PRIVILEGES ON ALL TABLES IN SCHEMA %I FROM partner_reporting_user3_to_delete;', s_row.schema); ... ... EXECUTE for

Postgresql 如何使用bash脚本将一个表从docker数据库容器复制到不同的docker数据库容器?

我在生产中提供docker服务(postgresql、django、nodejs等)。我希望将该数据库中的一个表复制到新的docker容器,而不会丢失其他表,并且当有人向要复制的表插入数据时,我希望数据也在复制表中。 所以我想做的是编写bash脚本,它将自动完成这些任务 PS:生产docker容器已存在 我找了很多,找不到合适的方法。如果你知道怎么做,请告诉我怎么做 如果有什么不清楚的地方,请提出来,我会尽量给出细节

postgresql触发器不工作

我有一张表格“需求详情” 在更新或删除时,我想将每行的值存储在另一个表“demand\u details\u log”中 我的职能如下 CREATE OR REPLACE FUNCTION water_blogb() RETURNS trigger AS $BODY$ BEGIN IF (TG_OP='UPDATE') THEN INSERT INTO demand_details_log VALUES ('U',now(),OLD.*); RETU

Postgresql postgres语句超时不一致

我将postgres语句\u timeout设置为一个较低的值,以避免长时间查询,方法是: ALTER DATABASE web SET statement_timeout = '28s'; 显然,有些长语句确实超时,有些则不超时,只是停留不动。 什么会导致这种不同的行为? 超时是否取决于查询的类型?在交易阶段?还有什么吗?你能告诉我们什么是超时,什么不是超时吗?

Postgresql 运算符不存在:整数[]@@integer[]

我已将intarray列添加到表中,并成功地将数据添加到该列中 CREATE TABLE my_table ( ... tag_ids integer[], ) 当我尝试这样的查询时: SELECT id, tag_ids from my_table where tag_ids @@ ARRAY[1,2] CREATE INDEX my_index ON my_table USING GIST (tag_ids gist__int_ops); 我得到这个错误: ERROR: op

Postgresql Postgres选择了错误的查询计划

我对使用错误查询计划的查询有问题。由于非最佳查询计划,查询几乎需要20秒 该问题仅在少数所有者ID中出现。所有者ID的分布不统一。示例中的所有者id有7948条路由。路线总数为2903096条 数据库托管在服务器上的Amazon RDS上,该服务器具有34.2 GiB内存、4vCPU和配置的IOPS(实例类型db.m2.2xlarge)。Postgres的版本是9.3.5 EXPLAIN ANALYZE SELECT route.id, route_meta.name FROM

流浪汉+;Docker&x2B;Postgresql-无法从主机连接

我正在尝试使用Vagrant在本地模拟我们的生产设置。在生产中,我们为postgresql数据库使用docker容器,运行在centos6.5/redhat上(不是选择) 因此,在本地,我安装了Vagrant,创建了一台机器,安装了postgresql docker容器并在该机器上运行,通过从VM连接来确保其运行。但是,我不知道如何从主机(或其他VM)连接到postgresql 这是我的流浪汉档案: VAGRANTFILE_API_VERSION = "2" Vagrant.configure

Postgresql UTF-8字符的Postgres排序

我正在构建一个小应用程序,在我的数据库中包含世界语单词,所以我有像ĉapelojn和brakhorloĝo这样的单词,带有“特殊”字符 使用PostgreSQL 9.4.4,我有一个具有以下模式的words表: lingvoj_dev=# \d words Table "public.words" Column | Type |

使用pgloader将sqlite数据库迁移到postgresql

我正在尝试使用pgloader将数据库从sqlite迁移到postgresql。我的sqlite数据库名为app.db。因此,运行以下命令 createdb new_pg_appdb pgloader ./app.db postgresql:///new_pg_appdb pgloader命令似乎从sqlite数据库导入了一些行,因为最终输出如下所示 table name read imported errors t

如何在PostgreSQL中返回不同时区的当前日期

我正在开发一个应用程序,它使用东部时间,数据库设置为太平洋时间。这已经引起了一些问题,但我们被告知,这不可能是任何其他方式,所以我们只需要解决它 不管怎么说,我有一件麻烦的事就是今天的约会。由于数据库位于太平洋地区,如果我在凌晨1点使用current_date询问今天的日期,它会给出昨天的日期。我尝试过设置时区和加减间隔,但它似乎从来没有像我期望的那样工作,我宁愿不在凌晨1点做大量的测试来让它工作 在PostgreSQL中,有没有一种简单的方法可以返回给定时区中今天的日期 选择时区“UTC”的当

Postgresql 显示自定义数据库数据类型的定义

我目前正在使用一个现有的数据库,它有一个名为geometry的自定义数据类型(使用postgis扩展)。当我从数据库中的该列提取数据时,它给我的只是一个50个字符的字符串,但我不知道该字符串是如何创建的,因此我无法确定实际数据是什么 有没有办法查看postgres中的自定义数据类型定义? 我尝试了psql\dT和psql\dT+,但没有看到定义 不幸的是,我没有pgadmin。 谢谢 是否要查看CREATE TYPE语句?是的,类似这样的语句就太好了!

如何使用pySpark将csv文件内容插入postgreSQL表?

我想将csv文件中的数据插入到postgreSQL表中。我已经编写了从csv文件中获取数据的代码,如下所示 myData = spark.read.format("csv").option("header","true").load("D:/sample.csv") DataFrame[id: int, firstname: string, lastname: string, email: string, password: string] 我在“myData”变量中获得了文件内容 url

Postgresql Postgres中表的最佳索引

假设我有下表 CREATE TABLE tbl ( id uuid NOT NULL DEFAULT gen_random_uuid(), col_a uuid NOT NULL, col_b character varying NOT NULL, PRIMARY KEY (id) ); 我希望它在(colu_a,colu_b)上是唯一的,所以我还将创建以下索引 CREATE UNIQUE INDEX tbl_unique_idx ON tbl USING btree (col

如何在Heroku中启动postgresql server?

我正在尝试在Heroku上部署我的应用程序,但在启动数据库之前,我在本地尝试启动服务器时一直遇到相同的错误: psycopg2.OperationalError: could not connect to server: Connection refused Is the server running on host "127.0.0.1" and accepting TCP/IP connections on port 5432? 通常,我只需键入sudo服务postgres

Postgresql 如何使用当前的模式设计有效地设计消息传递系统?

我正在为消息传递应用程序设置数据库架构。我有一个messages表,其中存储了主题、正文、创建者(发送消息的人的id)、状态(已发送、草稿、未读)消息和其他信息,然后我还有一个sent表来跟踪messageid(来自messages表的消息id)和senderid(来自user表的发送者id)还有一个收件箱表,用于跟踪messageid和receiverid(用户表中接收方的id)。我希望实现以下目标: 每次我插入messages表(发布消息)时,我都会以编程方式将发送方的状态设置为“已发送”

获取postgreSQL中Bytea列的大小

我有存储文件信息的表。文件内容存储在列中(在PostgreSQL中,列数据类型为bytea)。现在我想根据bytea列数据获取文件内容大小 在SQL Server中,我可以使用以下查询获取: select convert(nvarchar(50),DATALENGTH(FileDataInVarbinary)/ 1048576.0 ) +' MB' as FileSize from Table_FileInfo 您能告诉我,我们如何用postgreSQL编写上述sql查询。您可以使用该函数获取

PostgreSQL-设置永久时区

如何在postgresql中设置默认时区 我尝试更新/etc/postgresql/13/main/目录中的postgresql.conf文件,然后重新启动sudo服务postgresql 但db中的时区显示“亚洲/加尔各答” 我希望是“UTC” 谁能告诉我这里有什么东西不见了吗 感谢您的帮助 谢谢您的会话时区是什么?@a_horse_和a_no_名称会话时区是'Asia/Kolkata',然后您需要在客户端中使用set timezone='UTC'@a_horse和a_no_名称我的节点应用程