Questions tagged «postgresql»

PostgreSQL是一个开放源代码的,对象关系数据库管理系统(ORDBMS),可用于所有主要平台,包括Linux,UNIX,Windows和OSX。提出问题时,请注明确切的Postgres版本。有关管理或高级功能的问题最好直接到dba.stackexchange.com。

3
PostgreSQL中的约束名称更新
是否可以在Postgres中更改约束名称?我添加了一个PK: ALTER TABLE contractor_contractor ADD CONSTRAINT commerce_contractor_pkey PRIMARY KEY(id); 我想为其使用其他名称,以与系统的其余部分保持一致。我应该删除现有的PK约束并创建一个新的PK约束吗?还是有一种“软”的方式来管理它? 谢谢!


30
pgadmin4:无法联系postgresql应用程序服务器。
我已经在Windows 8.1上安装了PostgreSQL 9.6.2。但是pgadmin4无法联系本地服务器。我已经尝试过在stackoverflow中建议的几种解决方案,尝试卸载并重新安装PostgreSQL 9.6.2,尝试修改config.py,config_distro.py并删除Roaming文件夹中的文件,我尝试了独立pgadmin4的安装,但是没有成功。但是,在我的本地计算机上,我可以使用psql.exe访问服务器并以超级用户(postgres用户)身份登录。您能为启动/运行pgadmin4提供任何可能的解决方案吗?谢谢。

2
将列类型更改为Rails中的更长字符串
在第一次迁移时,我content根据注释的gem 在列上声明了字符串Activerecord使其为string(255)。 将应用程序推送到使用postgres的heroku后,如果我在表单中输入的内容长度超过255,则出现错误 PGError: ERROR: value too long for type character varying(255) 问题是我需要内容包含一个可能非常长的字符串(自由文本,可能是数千个字符) pg会接受什么变量(字符串不适合此操作)? 如何创建迁移以替换该列的类型 谢谢

2
如何使PyPy,Django和PostgreSQL一起工作?
应该使用哪种分叉或软件包组合来使PyPy,Django和PostgreSQL相互配合? 我知道PyPy和Django在一起玩的很好,但是我不太确定PyPy和PostgreSQL。我确实看到Alex Gaynor制作了一个名为pypy-postgresql的PyPy 分支。我也知道有些人正在使用psycopg2-ctypes。 这些叉子之间有区别吗?还是应该使用稳定的1.9 PyPy并使用psycopg2-ctypes?使用ctypes选项可能会损害性能,请参见下面的注释。 此外,有人将pyscopg2与PyPy结合使用会遇到任何陷阱吗?如果某些事情无法正常进行,使用CPython似乎很容易,但是我主要是在寻找程序员可以提前做的事情。 我环顾四周,似乎psycopg2无法与PyPy一起使用。尽管psycopg2-ctypes似乎确实对某些人有用,但有关pypy-dev的讨论。我在Windows上工作,可悲的是,我认为psycopg2-ctypes还没有为Windows准备就绪。

16
Rails + Postgres放置错误:其他用户正在访问数据库
我有一个运行在Postgres上的Rails应用程序。 我有两台服务器:一台用于测试,另一台用于生产。 很多时候,我需要在测试服务器上克隆生产数据库。 我通过Vlad运行的命令是: rake RAILS_ENV='test_server' db:drop db:create 我遇到的问题是我收到以下错误: ActiveRecord::StatementInvalid: PGError: ERROR: database <database_name> is being accessed by other users DROP DATABASE IF EXISTS <database_name> 如果有人最近通过Web访问了该应用程序,则会发生这种情况(postgres保持“会话”打开) 有什么方法可以终止postgres DB上的会话? 谢谢。 编辑 我可以使用phppgadmin的界面删除数据库,但不能使用rake任务删除数据库。 如何使用rake任务复制phppgadmin的drop?

4
使用LIMIT / OFFSET运行查询,并获得总行数
出于分页目的,我需要使用LIMIT和OFFSET子句运行查询。但是我还需要计算不带LIMITandOFFSET子句的查询将返回的行数。 我要跑步: SELECT * FROM table WHERE /* whatever */ ORDER BY col1 LIMIT ? OFFSET ? 和: SELECT COUNT(*) FROM table WHERE /* whatever */ 同时。有没有办法做到这一点,特别是让Postgres优化它的方法,从而使其比单独运行它们都快?

7
输入文件似乎是文本格式的转储。请使用psql
我使用备份 pg_dump db_production > postgres_db.dump 然后使用scp将其复制到localhost。 现在,当我导入本地数据库时,它给出了一个错误 pg_restore: [archiver] input file appears to be a text format dump. Please use psql. 通过使用逗号 pg_restore -d db_development postgres_db.dump

4
如何检查postgres用户是否存在?
createuser允许在PostgreSQL中创建用户(ROLE)。有没有一种简单的方法来检查该用户(名称)是否已经存在?否则,createuser会返回错误: createuser: creation of new role failed: ERROR: role "USR_NAME" already exists 更新:该解决方案应该可以从Shell上执行,因此在脚本内部自动化更容易。


3
PostgreSQL'NOT IN'和子查询
我正在尝试执行此查询: SELECT mac, creation_date FROM logs WHERE logs_type_id=11 AND mac NOT IN (select consols.mac from consols) 但是我没有结果。我测试了一下,而且我知道语法有问题。在MySQL中,这样的查询可以完美地工作。我添加了一行以确保表mac中不存在该行consols,但仍未给出任何结果。

16
臭名昭著的java.sql.SQLException:找不到合适的驱动程序
我正在尝试将启用数据库的JSP添加到现有的Tomcat 5.5应用程序(GeoServer 2.0.0,如果有帮助的话)。 该应用程序本身与Postgres可以很好地进行通信,因此我知道数据库已启动,用户可以访问它,所有这些好东西。我正在尝试做的是添加的JSP中的数据库查询。我已经在开箱即用的Tomcat数据源示例中使用了config示例。必需的标记库位于正确的位置-如果我只有标记库引用,则不会发生任何错误,因此它将查找那些JAR。postgres jdbc驱动程序postgresql-8.4.701.jdbc3.jar位于$ CATALINA_HOME / common / lib中。 这是JSP的顶部: <%@ taglib uri="http://java.sun.com/jsp/jstl/sql" prefix="sql" %> <%@ taglib uri="http://java.sun.com/jsp/jstl/core" prefix="c" %> <sql:query var="rs" dataSource="jdbc/mmas"> select current_validstart as ValidTime from runoff_forecast_valid_time </sql:query> 来自$ CATALINA_HOME / conf / server.xml的相关部分,其内部<Host>依次是<Engine>: <Context path="/gs2" allowLinking="true"> <Resource name="jdbc/mmas" type="javax.sql.Datasource" auth="Container" driverClassName="org.postgresql.Driver" maxActive="100" maxIdle="30" maxWait="10000" username="mmas" password="very_secure_yess_precious!" …

5
PostgreSQL unnest(),元素编号
当我有一个带有单独值的列时,可以使用以下unnest()函数: myTable id | elements ---+------------ 1 |ab,cd,efg,hi 2 |jk,lm,no,pq 3 |rstuv,wxyz select id, unnest(string_to_array(elements, ',')) AS elem from myTable id | elem ---+----- 1 | ab 1 | cd 1 | efg 1 | hi 2 | jk ... 如何包含元素编号?即: id | elem | nr ---+------+--- 1 | ab …

9
是否查看并清除Postgres缓存/缓冲区?
有时我运行一个Postgres查询需要30秒。然后,我立即运行相同的查询,这需要2秒钟。看来Postgres具有某种缓存。我能以某种方式查看该缓存保存了什么吗?我可以强制清除所有缓存以进行调整吗? 注意:我基本上是在寻找以下SQL Server命令的postgres版本: DBCC FREEPROCCACHE DBCC DROPCLEANBUFFERS 但我也想知道如何查看该缓冲区中实际包含的内容。 谢谢你的帮助。


By using our site, you acknowledge that you have read and understand our Cookie Policy and Privacy Policy.
Licensed under cc by-sa 3.0 with attribution required.