草庐IT

postgresql-9.6

全部标签

PostgreSQL 重复键违反唯一约束

文章目录问题背景解决办法方法一方法二方法三问题背景直接在数据表中插入了几条测试数据,后又手动删除,导致后面插入数据的时候报主键冲突:ERROR:duplicatekeyvalueviolatesuniqueconstraint“tableName_pkey”DETAIL:Key(id)=(1)alreadyexists.关于自增字段,postgresql中没有自增字段,用的是sequence。即使采用INSERTIGNORE的方式或者REPLACEINTO的方式还是报错,那么解决方法可以选择重置自增序列和主键。解决办法方法一(1)重置序列起始值为1altersequencexxx_id_seq

php - 使用 PostgreSQL 或 Mysql 的 SQL 查询进度

简介大家好。在从事Web应用程序管理方面的工作时,我经常发现自己遇到了以我目前的知识从未解决过的问题。在我的应用程序中,由于复杂的查询和大量的数据,大多数数据提取过程都是持久的。事实上,通过PHP提取数据的等待时间主要由QUERYEXECUTION花费(在大多数情况下)。假设我们有这种常见的情况问题此时我的问题是:是否有一种解决方案可以了解查询执行过程到达的时间点,然后进行查询跟踪以获得我的[PROGRESSQUERY%]?我的解决方案到目前为止,我使用的解决方案是:“查询时间历史记录”当我使用特定参数运行数据提取查询时,我将查询的持续时间保存在表中,每次使用这些参数执行该查询时,我都

5.postgresql--COALESCE

在PostgreSQL中,COALESCE函数返回第一个非空参数。它通常与SELECT语句一起使用以有效处理空值。COALESCE函数接受无限数量的参数。它返回第一个不为空的参数。如果所有参数都为null,则COALESCE函数将返回null。COALESCE函数从左到右计算参数,直到找到第一个非空参数。不评估第一个非空参数中的所有剩余参数。CREATETABLEitems(IDserialPRIMARYKEY,productVARCHAR(100)NOTNULL,priceNUMERICNOTNULL,discountNUMERIC);INSERTINTOitems(product,pric

mysql - 关于 MySQL 和 PostgreSQL 中的子查询

当我使用MySQL时,以下查询运行正常。SELECT1asnum1,(select(num1+1))asnum2但是PostgreSQL返回错误。ERROR:column"num1"doesnotexist为什么响应不同? 最佳答案 问题不应该是为什么Postgres不支持这种语法,而是为什么MySQL支持。在大多数RDBMS中,别名仅在查询执行后才解析,因此您不能在声明它们的查询中使用它们。例如,更常见的用例-您不能在声明它的查询/表元素的where子句中使用列别名。解决这个问题的一种方法是使用子查询:SELECTnum1,num

mysql - MySQL GROUP BY 的 PostgreSQL 等价物

我需要在表格中查找重复项。在MySQL中我简单地写:SELECT*,count(id)countFROM`MY_TABLE`GROUPBYSOME_COLUMNORDERBYcountDESC这个查询很好:根据SOME_COLUMN查找重复项,给出其重复计数。按重复的desc顺序排序,这对于快速扫描主要重复项很有用。为所有剩余的列选择一个随机值,让我了解这些列中的值。Postgres中的类似查询向我显示错误:column"MY_TABLE.SOME_COLUMN"mustappearintheGROUPBYclauseorbeusedinanaggregatefunction此查询的P

mysql - PostgreSQL 'schema' 的 MySQL 等价物是什么?

我有一个PostgreSQL数据库,其表分为多个模式。每个模式都有一组不同的访问控制;例如,一个模式可能对普通用户是只读的,而他们可以在另一个模式上创建表。架构还充当命名空间,因此用户在创建新表时不必担心复制现有表。我想使用MySQL创建一个类似的设置。它有等效的概念吗?如果不是,我怎样才能最接近地模拟它?我不想使用多个数据库。 最佳答案 Database应该是最接近的。 关于mysql-PostgreSQL'schema'的MySQL等价物是什么?,我们在StackOverflow上找

mysql - 当你在 MySQL 或 PostgreSQL 中有一个 TEXT 字段时,你应该把它放在一个单独的表中吗?

我听说如果您有一个包含大量文本数据的TEXT列的表,那么将该列移动到一个单独的表中并通过JOIN将其获取到基本记录会提高性能。这是真的吗?如果是,为什么? 最佳答案 不适用于PostgreSQL,来自themanual:Verylongvaluesarealsostoredinbackgroundtablessothattheydonotinterferewithrapidaccesstoshortercolumnvalues.因此大字符列(如TEXT或VARCHAR没有指定大小限制)远离主表数据存储。因此,PostgreSQL内置

【Postgresql常用命令大全】——Pgsql常用命令

Postgresql数据库常用命令1、连接数据库,默认的用户和数据库是postgrespsql-hhost-pport-Uuser-ddbname2、执行sql文件psql-h${PGHOST}-p${PGPORT}-U${PGUSER}-dsafe_browser-fxxxx.sql\i/xxxxx/xxx/xxxxxx.sql3、切换数据库,相当于mysql的usedbname\cdbname4、列举数据库,相当于mysql的showdatabases\l5、列举表,相当于mysql的showtables\dt6、查看表结构,相当于desctblname,showcolumnsfromtb

mysql - 如何将 MySQL `LIMIT` 子句转换为 PostgreSQL `LIMIT` 子句?

MySQL查询示例:SELECTmessage_id,message_textFROMmessagesLIMIT0,30我得到的这个提示是错误的:HINT:UseseparateLIMITandOFFSETclauses. 最佳答案 比较MySQL的LIMIT语法:[LIMIT{[offset,]row_count|row_countOFFSEToffset}]到Postgres使用的那个:[LIMIT{number|ALL}][OFFSETnumber]这应该为您提供了足够的信息,您需要将LIMIT0,30替换为LIMIT30OF

php - 面向 PHP 开发人员的 PostgreSQL 和 MySQL 之间的差异

对于大多数数据库查询都包含“在多边形内”这样的要求的项目,我开始考虑选择带有PostGIS的PostgreSQL而不是我以前主要使用的MySQL。主要是PostgreSQL的GIS功能比较多。但是,我不确定如何对此进行评估,也无法从PHP开发人员的角度真正看出差异。PostgreSQL支持是否像MySQL一样与PHP集成?编写PostgreSQL查询(SQL)是否与MySQL非常相似?在选择PostgreSQL而不是MySQL时有什么注意事项需要考虑吗?根据定义,PostgreSQL是使用GIS数据时更好的解决方案吗?希望你们能帮我澄清一些。 最佳答案