Tag: postgresql

在pgAdmin中看不到用户定义的数据库“types”

有没有一种graphics方式来创build/操作/查看PgAdmin中的特殊数据库types? 例如,在PostgreSQL中我们有: CREATE TYPE compfoo AS (f1 int, f2 text); 我注意到,pgAdmin几乎以graphics方式显示所有东西,比如触发器,视图,函数,当然还有表格,但是我找不到我创build的types。

date范围之间的PostgreSQL查询

我想查询我的postgresql数据库返回结果的date是在某些月份和年份。 换句话说,我希望一个月的所有价值。 到目前为止,我能做到的唯一方法就是这样: SELECT user_id FROM user_logs WHERE login_date BETWEEN '2014-02-01' AND '2014-02-28' 问题是我必须在查询表之前计算第一个date和最后一个date。 有一个更简单的方法来做到这一点? 谢谢

未加载库:/usr/local/lib/libpq.5.4.dylib运行耙db:create

我正在使用Rails应用程序。 使用postgresql-9.1.2-1-osx.dmg安装Postgresql 安装了pg gem。 然后当我执行rake db:create获取以下错误 – / usr / local / dlopen / LIB / libpq.5.4.dylib 检查/usr/local/lib/libpq.5.4.dylib存在。 它不是。 所以,它应该存在于系统的其他地方,或者我不知道,如果我需要为此安装任何其他软件。 给任何人build议吗?

如何使用PostgreSQL中的ON CONFLICT返回?

我在PostgreSQL 9.5中有以下的UPSERT: INSERT INTO chats ("user", "contact", "name") VALUES ($1, $2, $3), ($2, $1, NULL) ON CONFLICT("user", "contact") DO NOTHING RETURNING id; 如果没有冲突,则返回如下所示的内容: ———- | id | ———- 1 | 50 | ———- 2 | 51 | ———- 但是如果有冲突,它不会返回任何行: ———- | id | ———- 我想返回新的id列,如果没有冲突或返回冲突列的现有id列。 可以这样做吗? 如果是这样, 怎么样?

Postgresql聚合数组

嗨,我有两张桌子 Student ——– Id Name 1 John 2 David 3 Will Grade ——— Student_id Mark 1 A 2 B 2 B+ 3 C 3 A 是否有可能使本机Postgresqlselect像这样的结果: Name Array of marks ———————– 'John', {'A'} 'David', {'B','B+'} 'Will', {'C','A'} 但不是这样 Name Mark —————- 'John', 'A' 'David', 'B' 'David', 'B+' 'Will', 'C' 'Will', 'A'

如何耙db:下拉和耙db:在Heroku上创build?

可能重复: 如何在heroku中清空数据库 我在Heroku上有一个Postgres数据库。 这是免费的testing版之一。 在本地testing时,我经常运行rake db:drop && rake db:create && rake db:migrate作为重置数据库的一种方法。 但是,当我尝试在Heroku上运行这个时,我得到错误: Couldn't drop mydatabaseid : #<PG::Error: FATAL: permission denied for database "postgres" DETAIL: User does not have CONNECT privilege. 呃,那么,我该如何彻底重置我的数据库,迁移和其他一切?

PostgreSQL 9.1关于PLPGSQL的pg_restore错误

我正在使用Postgres做一个django项目,目前我正在实现一个尽可能简单的数据库备份/恢复系统,当用户单击备份时执行pg_dump,然后在单击还原备份时执行pg_restore。 所有似乎都很好,直到它实际上试图执行pg_restore,在这个时候它给这个错误: pg_restore:[archiver(db)]来自TOC项目3206的错误; 0 0 COMMENT EXTENSION plpgsql pg_restore:[archiver(db)]无法执行查询:ERROR:必须是扩展plpgsql的所有者命令是:COMMENT ON EXTENSION plpgsql是'PL / pgSQL过程语言'; 我已经研究了什么plpgsql是等,我明白了,关于错误,我试图手动设置“扩展的所有者”执行脚本的用户,拥有数据库本身,但没有改变,它真的很烦人,因为它试图对所有事情发表评论的错误 这一切都是由pg_dump自动创build的,所以注释行不能被删除,也没有标志来禁用注释(我知道closures),所以我真的坚持如何解决这个问题。

目录,模式,用户和数据库实例之间的关系

要比较不同供应商(Oracle,SQL Server,DB2,MySQL和PostgreSQL)的数据库,我怎样才能识别任何唯一的对象,并且我需要一个目录? 例如,在Java的DatabaseMetadata中,我应该至less指定目录和模式fooPattern。 目录仅仅是数据存储的抽象是真的吗?

hibernate缓慢以获取Postgres连接

我很难debugging这个问题。 每当我尝试与postgresbuild立连接时,都需要一整分钟的时间。 连接build立后,一切都很好。 我已经尝试禁用所有的映射,不加载任何,但仍然需要很长的时间来获取连接。 我也试过禁用validation,没有区别。 当我使用一个简单的JDBC连接时,它是即时的。 Hibernate正在做一些需要相当多的时间,我似乎无法缩小它。 任何input,非常感谢! Postgres驱动程序: postgresql-9.1-901.jdbc4.jar configuration设置: <hibernate-configuration> <session-factory> <!– properties –> <property name="dialect">org.hibernate.dialect.PostgreSQLDialect</property> <property name="connection.driver_class">org.postgresql.Driver</property> <property name="connection.url">jdbc:postgresql://xxxx.com:5432/xxxxx</property> <property name="connection.username">xxxxxxx</property> <property name="connection.password">xxxxxxx</property> </session-factory> </hibernate-configuration> 代码中的其他设置: config.setProperty("hibernate.hbm2ddl.auto", hbm2ddlMode); //config.setProperty("hibernate.cache.use_query_cache", "true"); config.setProperty("hibernate.cache.use_second_level_cache", "true"); //config.setProperty("hibernate.cache.region.factory_class", "net.sf.ehcache.hibernate.EhCacheRegionFactory"); config.setProperty("hibernate.cache.provider_class", "org.hibernate.cache.EhCacheProvider"); //config.setProperty("hibernate.cache.provider_class", "org.hibernate.cache.NoCacheProvider"); config.setProperty("hibernate.jdbc.fetch_size", "100"); config.setProperty("hibernate.jdbc.batch_size", "30"); config.setProperty("hibernate.jdbc.use_scrollable_resultset", "true"); config.setProperty("hibernate.connection.provider_class", "org.hibernate.connection.C3P0ConnectionProvider"); config.setProperty("hibernate.c3p0.acquire_increment", "1"); config.setProperty("hibernate.c3p0.idle_test_period", "0"); config.setProperty("hibernate.c3p0.min_size", "1"); […]

SQL LIKE条件检查整数?

我正在使用一组SQL LIKE条件来遍历字母表,并列出以相应字母开头的所有项目,例如,获取标题以字母“A”开头的所有书籍: SELECT * FROM books WHERE title ILIKE "A%" 这对信件来说很好,但是如何列出以任何数字开头的所有项目? 对于这是值得的这是在Postgres数据库。