Questions tagged «postgresql»

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

23
在PostgreSQL中列出带有索引的列
我想获取PostgreSQL中索引所在的列。 在MySQL中,您可以使用SHOW INDEXES FOR table并查看该Column_name列。 mysql> show indexes from foos; +-------+------------+---------------------+--------------+-------------+-----------+-------------+----------+--------+------+------------+---------+ | Table | Non_unique | Key_name | Seq_in_index | Column_name | Collation | Cardinality | Sub_part | Packed | Null | Index_type | Comment | +-------+------------+---------------------+--------------+-------------+-----------+-------------+----------+--------+------+------------+---------+ | foos | 0 | PRIMARY | 1 | id | A | …
233 sql  postgresql  indexing 

12
在postgres中重置自动增量计数器
我想将表的自动递增字段强制为某个值,我尝试使用以下方法: ALTER TABLE product AUTO_INCREMENT = 1453 和 ALTER SEQUENCE product RESTART WITH 1453; ERROR: relation "your_sequence_name" does not exist 我是Postgres的新手:( 我有一个表product与Id和name领域

9
如何在ubuntu上彻底清除并重新安装postgresql?[关闭]
关闭。此问题不符合堆栈溢出准则。它当前不接受答案。 想改善这个问题吗?更新问题,使其成为Stack Overflow 的主题。 2年前关闭。 改善这个问题 不知何故,我设法完全在Ubuntu karmic上破解了postgresql的安装。我想从头开始,但是当我用apt-get“清除”软件包时,它仍然留下痕迹,以致重新安装配置无法正常运行。 完成后: apt-get purge postgresql apt-get install postgresql 它说 Setting up postgresql-8.4 (8.4.3-0ubuntu9.10.1) ... Configuring already existing cluster (configuration: /etc/postgresql/8.4/main, data: /var/lib/postgresql/8.4/main, owner: 108:112) Error: move_conffile: required configuration file /var/lib/postgresql/8.4/main/postgresql.conf does not exist Error: could not create default cluster. Please create it manually …



3
如何使用新的PostgreSQL JSON数据类型内的字段进行查询?
我正在寻找PostgreSQL 9.2中新JSON函数的一些文档和/或示例。 具体来说,给定一系列JSON记录: [ {name: "Toby", occupation: "Software Engineer"}, {name: "Zaphod", occupation: "Galactic President"} ] 如何编写SQL以按名称查找记录? 在原始SQL中: SELECT * from json_data WHERE "name" = "Toby" 官方开发手册非常稀疏: http://www.postgresql.org/docs/devel/static/datatype-json.html http://www.postgresql.org/docs/devel/static/functions-json.html 更新我 我汇总了PostgreSQL 9.2当前可能的功能。使用一些自定义函数,可以执行以下操作: SELECT id, json_string(data,'name') FROM things WHERE json_string(data,'name') LIKE 'G%'; 更新二 我现在将JSON函数移到了自己的项目中: PostSQL-一组用于将PostgreSQL和PL / v8转换为一个很棒的JSON文档存储的功能

6
PostgreSQL使用不同的ORDER BY打开
我想运行此查询: SELECT DISTINCT ON (address_id) purchases.address_id, purchases.* FROM purchases WHERE purchases.product_id = 1 ORDER BY purchases.purchased_at DESC 但是我得到这个错误: PG ::错误:错误:SELECT DISTINCT ON表达式必须匹配初始ORDER BY表达式 添加address_id为第一个ORDER BY表达式可以使错误消失,但是我真的不想添加sorting over address_id。是否可以不按顺序进行address_id?

7
如何加快PostgreSQL中的插入性能
我正在测试Postgres插入性能。我有一张表,其中一列以数字作为其数据类型。也有一个索引。我使用以下查询填充数据库: insert into aNumber (id) values (564),(43536),(34560) ... 通过上面的查询,我一次非常快地一次插入了400万行10,000。数据库达到600万行后,性能每15分钟急剧下降到100万行。有什么技巧可以提高插入性能?我需要此项目的最佳插入性能。 在具有5 GB RAM的计算机上使用Windows 7 Pro。

27
有哪些资源可用于数据库性能调整?[关闭]
关闭。此问题不符合堆栈溢出准则。它当前不接受答案。 想改善这个问题吗?更新问题,使其成为Stack Overflow 的主题。 6年前关闭。 改善这个问题 有哪些好的资源可用于理解主要引擎上的数据库调优并增进您在该领域的知识? 这个问题的想法是收集流失的资源,这些资源总是存在的,以便人们可以建立一个“一站式”的知识资源,该知识资源是经过同等认可的良好资源。 通用SQL 书籍:SQL性能调优 书籍:SQL调优 书籍:SQL的艺术 图书:重构SQL应用程序 图书:数据库调优:原理,实验和故障排除技术 使用索引,卢克!-开发人员数据库性能指南 PostgreSQL(Wiki)(PGsearch) 性能优化 快速PostgreSQL优化 解释分析口译员 PostgreSQL性能提示 图书:PostgreSQL 9.0高性能 的MySQL MySQL的隐藏功能 图书:高性能MySQL / 博客:高性能MySQL 博客:Xaprb(用于MySQL DBA) 甲骨文 如何在StackOverflow上询问Oracle调整问题 您如何解释查询的解释计划? Oracle高级调整脚本 Oracle数据库性能调优指南 问汤姆 Oracle数据库SQL参考 书籍:了解Oracle性能 书籍:优化Oracle性能 书籍:Oracle性能故障排除 图书:基于成本的Oracle基础知识 MS SQL服务器 SQL Server性能 电子书:高性能SQL Server SO问题:最佳的SQL Server性能优化技术是什么? 布伦特·奥扎(Brent Ozar)的《 …

2
为什么我们需要在像PostgreSQL这样的数据库上需要像RabbitMQ这样的消息代理?
我是RabbitMQ之类的消息代理的新手,我们可以使用它们为Celery这样的调度系统创建任务/消息队列。 现在,这是一个问题: 我可以在PostgreSQL中创建一个表,该表可以附加新任务,并由用户程序(如Celery)使用。 为什么在地球上我想为此设置一种全新技术,例如RabbitMQ? 现在,我相信扩展无法解决问题,因为像PostgreSQL这样的数据库可以在分布式环境中工作。 我搜索了数据库针对特定问题带来的问题,然后发现: 轮询使数据库繁忙且性能低下 锁定表->再次表现不佳 数百万行的任务->再次,轮询性能低下 现在,RabbitMQ或类似的任何其他消息代理如何解决这些问题? 另外,我发现该AMQP协议是遵循的。那有什么好呢? 可以Redis的也可以用作消息代理?我发现它比RabbitMQ更类似于Memcached。 请对此有所说明!


7
如何在Docker Postgres的脚本中创建用户/数据库
我一直在尝试通过创建自定义用户和数据库来为开发postgres实例设置容器。我正在使用官方的postgres docker镜像。在文档中,它指示您在/docker-entrypoint-initdb.d/文件夹内插入bash脚本以使用任何自定义参数设置数据库。 我的bash脚本:make_db.sh su postgres -c "createuser -w -d -r -s docker" su postgres -c "createdb -O docker docker" Docker文件 FROM library/postgres RUN ["mkdir", "/docker-entrypoint-initdb.d"] ADD make_db.sh /docker-entrypoint-initdb.d/ 我从docker logs -f db(db是我的容器名称)得到的错误是: createuser:无法连接到数据库postgres:无法连接到服务器:没有这样的文件或目录 /docker-entrypoint-initdb.d/在启动postgres之前,似乎正在执行文件夹内的命令。我的问题是,如何使用官方的postgres容器以编程方式设置用户/数据库?有没有办法用脚本来做到这一点?



4
向数据库上的用户授予所有权限
我想给用户一个数据库的所有权限,而无需使其成为管理员。之所以要这样做,是因为目前DEV和PROD是同一集群上的不同DB,所以我不希望用户能够更改生产对象,但用户必须能够更改DEV上的对象。 我试过了: grant ALL on database MY_DB to group MY_GROUP; 但似乎没有任何许可。 然后我尝试了: grant all privileges on schema MY_SCHEMA to group MY_GROUP; 而且似乎授予了我创建对象的权限,但不允许我在该模式上查询\删除属于其他用户的对象 我可以继续向MY_SCHEMA上的用户授予USAGE权限,但随后它会抱怨没有对该表的权限... 所以我想我的问题是:是否有任何简单的方法可以将所有权限授予数据库上的用户? 我正在使用PostgreSQL 8.1.23。

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.