小编dez*_*zso的帖子

Postgres - 复制表 INCLUDING CONSTRAINT 不包含约束

如果我明确要求,该语句为什么不复制约束?

CREATE TABLE backup_schema.permissions (LIKE public.permissions INCLUDING DEFAULTS INCLUDING CONSTRAINTS INCLUDING INDEXES INCLUDING STORAGE INCLUDING COMMENTS);
INSERT INTO backup_schema.permissions
    SELECT *
    FROM public.permissions
    WHERE community_id=123;
Run Code Online (Sandbox Code Playgroud)

使用 pgadmin3 验证我发现新表(例如:backup_schema)的约束是: 在此输入图像描述

但在公共模式的原始表中是这样的: 在此输入图像描述

postgresql constraint postgresql-9.1 table

6
推荐指数
1
解决办法
9269
查看次数

Oracle 11g - 创建数据库失败?

我刚刚安装了 Oracle 11g 并将其链接到 SQL Developer。

我想为我的 django 安装创建一个数据库。

CREATE database 'django';

Error starting at line 1 in command:
create database 'django'
Error at Command Line:1 Column:0
Error report:
SQL Error: ORA-01501: CREATE DATABASE failed
ORA-01100: database already mounted
01501. 00000 -  "CREATE DATABASE failed"
*Cause:    An error occurred during create database
*Action:   See accompanying errors.
Run Code Online (Sandbox Code Playgroud)

(我也试过没有'')

为什么这不起作用?

是否有另一种方式来创建数据库?

oracle oracle-11g-r2

5
推荐指数
2
解决办法
5万
查看次数

并发事务与同时事务

大卫·克伦克 (David Kroenke) 的第 6 章 Database Concepts: Database Administration

我的理解是否正确,在数据库中,并发事务并没有真正发生。相反,它是一个快速发生的并发事务,用户认为它是一个并发事务?

我问的原因是因为我被任务中的问题所困扰,该问题询问执行并发事务需要多少 CPU。我回答只需要一个 CPU,因为它确实是一个正在发生的并发事务,而不是同时发生的事务?

想法,有人吗?

编辑: ~ jcolebrand -

@gbn 和 @Mark,

我感谢您的意见,但是,我完全不知道这些术语是什么,因为我目前正在学习的这门课程是数据库管理的入门课程,我的问题仅在书中的 1 段中讨论过,没有进一步详细说明。我也许能及时理解你的回答,但现在,我还不能。不过还是谢谢!

concurrency transaction

5
推荐指数
2
解决办法
5796
查看次数

动态临时索引创建

在我的本科数据库课程中,我的教授提到某些 DBMS 软件非常先进,以至于它可以检测到长时间运行的查询何时会从索引中受益。然后,DBMS 可以在查询期间创建该索引以提高性能。

但是,我认为这是不可能的,一些最初的谷歌搜索似乎同意我的看法。有谁知道实际实施此策略的 DBMS?

performance index

5
推荐指数
2
解决办法
156
查看次数

MySQL varchar(255) 限制和异常

我在 MySQL 数据库中定义了一个列:

ALTER TABLE `my_table` CHANGE `desc` `desc` VARCHAR( 255 ) 
    CHARACTER SET latin1 COLLATE latin1_swedish_ci NOT NULL
Run Code Online (Sandbox Code Playgroud)

但是,当我从前端输入超过 233 个字符的文本时,数据会被截断。

将列的大小更改为 varchar(511) 没有任何区别。

我使用 PHP 的strlen()函数计算了字符数,结果显示 233 个字符。

为什么 MySQL 会这样做,我该如何保存完整的字符串?

mysql varchar mysql-5.5

5
推荐指数
1
解决办法
4108
查看次数

将大表从 mySQL 迁移到 SQL Server 2012 时出错

我正在尝试使用SQL Server Migration Assistant for MySQL将几个 mySQL 表转换为 Microsoft SQL Server 2012 表。小表得到了转换,但是当涉及到大表(略小于 4 GB)时,经过大约 1:30 小时的处理,它给出了以下错误:

(经过时间 = 00:01:24:32:197)。无法截断目标表。原因: ExecuteReader 需要打开且可用的连接。连接的当前状态是关闭的。

这是输出:

Migrating data...
Analyzing metadata...
Preparing table `big fmail user`.conversionlog...
Preparing data migration package...
Starting data migration Engine
Starting data migration...
The data migration engine is migrating table '`big fmail user`.conversionlog': > [big fmail user].dbo.conversionlog, 87489673 rows total
Table `big fmail user`.conversionlog data migration: 8760542 rows processed.
Table `big fmail user`.conversionlog data migration: 17510722 rows processed. …
Run Code Online (Sandbox Code Playgroud)

mysql sql-server-2012

5
推荐指数
1
解决办法
5677
查看次数

支付方式概念和逻辑模型

我需要根据以下要求创建停车场的概念和逻辑(规范化)模型。在我看来,它是一个非常简单的概念,不需要所有表都具有关系 - 但是它们不能被建模为实体。我试着在 stackoverflow 上问这个问题,但几天来没有得到任何反馈。

  1. 三种可能的付款方式:

    • 休假时支付的机票,
    • 带有现金信用的预付卡,
    • 带有“时间信用”的预付卡,
  2. 票价视时间而定:

    1. 1-2 小时 = 0 美元,
    2. 3 小时 = 2 美元,
    3. 4 小时 = 4 美元,
    4. 之后 x 小时 = $(x+1),但最大。24 小时 20 美元(……最容易将它们放到 24 行,对吗?)。
  3. 一张票 (a) 可以享受 20% 的折扣(即在商场购物)。

  4. 现金信用卡使用与门票相同的价格,但有 40% 的折扣。
  5. 现金信用卡可以重新充值。
  6. 计时卡支付一次,并允许在有效期间停车。

问题是我不知道如何将这些突出显示的关系放入逻辑数据库模型以及是否将它们放在那里。在设计中使用独立的表格是否可行?

erd database-design best-practices

5
推荐指数
1
解决办法
2372
查看次数

具有 LIMIT 的不同优先级伪列解决方案的性能

我想知道关于stackoverflow问题的答案中提供的解决方案的相对性能,我决定运行一些测试。

在给定一组优先级递减的条件的情况下,OP 希望获得第一个匹配行。两种解决方案都涉及一个伪列,但一个(我的)涉及将多个SELECT语句UNION ALL组合在一起,而另一个则构造了一个CASE表达式。

我分享我的结果,希望有人会发现这很有用。

postgresql performance index execution-plan query-performance

5
推荐指数
1
解决办法
300
查看次数

Postgresql 流复制错误:WAL 段已删除

我想设置 PostgreSQL 流复制,但出现以下错误:

FATAL:  could not receive data from WAL stream: 
ERROR:  requested WAL segment 00000001000000000000006A has already been removed.
Run Code Online (Sandbox Code Playgroud)

主控IP:192.168.0.30

从机IP:192.168.0.36

关于大师:

我创建了一个rep仅用于复制的用户。

Postgres config 目录( )内的相关文件/opt/Postgres/9.3/data

pg_hba.conf:

host    replication     rep     192.168.0.36/32   trust
Run Code Online (Sandbox Code Playgroud)

postgresql.conf:

listen_addresses = 'localhost,192.168.0.30'
wal_level = 'hot_standby'
archive_mode = on
archive_command = 'cd .'
max_wal_senders = 1
hot_standby = on
Run Code Online (Sandbox Code Playgroud)

我已经重新启动了该postgres服务。

在从机上:

我已停止该postgres服务,然后将更改应用于两个文件:

pg_hba.conf:

host    replication     rep     192.168.0.30/32  trust
Run Code Online (Sandbox Code Playgroud)

postgresql.conf:

listen_addresses = 'localhost,192.168.0.36'
wal_level …
Run Code Online (Sandbox Code Playgroud)

postgresql replication postgresql-9.3

5
推荐指数
1
解决办法
1万
查看次数

SELECT + INSERT 或单独插入

我有一个应用程序,其中有几台设备每秒向我的服务器发送数据。在数据库上,我有一个包含设备的表和另一个每秒发送数据的表。

设备第一次发送数据时,服务器脚本应INSERT在设备表中注册 ( ) 该设备 ID 并将数据添加到数据表中。

我的问题是,什么会更快?

  1. 执行SELECT EXISTS查询以确定INSERT设备表中是否需要一个。如果SELECT EXISTS返回 false 则执行 an INSERT,否则什么都不做。

  2. 总是执行一个INSERT语句。考虑到设备 id 是表上的主键,如果设备已经存在它会返回一个错误,否则它会插入它。

只有第一次设备发送数据时才需要一个实际的INSERT,之后INSERT就不需要了。

PostgreSQL 版本是 9.4。

设备表定义如下:

CREATE TABLE common.tag
(
  customer integer,
  hostname character varying(150),
  description text,
  model integer,
  configprofile integer,
  id character varying(150) NOT NULL,
  host integer,
  CONSTRAINT tag_pk PRIMARY KEY (id),
  CONSTRAINT tag_fk_client FOREIGN KEY (customer)
      REFERENCES common.customer (id) MATCH SIMPLE
      ON UPDATE NO ACTION ON …
Run Code Online (Sandbox Code Playgroud)

postgresql insert select referential-integrity

5
推荐指数
1
解决办法
2710
查看次数