小编Top*_*opo的帖子

PostgreSQL在从字符串到日期的转换中创建索引

我正在尝试在varchar列的转换中创建一个索引到目前为止.我正在做这样的事情:

CREATE INDEX date_index ON table_name (CAST(varchar_column AS DATE));
Run Code Online (Sandbox Code Playgroud)

我得到了错误:functions in index expression must be marked IMMUTABLE但是我不知道为什么,到目前为止的演员表并不依赖于时区或类似的东西(这会使得带时区的时间戳转换为此错误).

有帮助吗?

postgresql indexing casting postgresql-9.2

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

使用GNU并行拆分

我正在将一个非常巨大的文件加载到postgresql数据库中.为此,我首先split在文件中使用以获取较小的文件(每个30Gb)然后使用GNU Parallel和将每个较小的文件加载到数据库psql copy.

问题是分割文件大约需要7个小时,然后开始为每个核心加载一个文件.我需要的是一种告诉split每次完成文件写入时将文件名打印到std输出的方法,这样我就可以将Parallel它管道输出,并在split完成编写时开始加载文件.像这样的东西:

split -l 50000000 2011.psv carga/2011_ | parallel ./carga_postgres.sh {}
Run Code Online (Sandbox Code Playgroud)

我已阅读split手册页,但找不到任何内容.有没有办法用这个split或任何其他工具做到这一点?

bash split gnu-parallel

13
推荐指数
1
解决办法
6041
查看次数

如何从C++中的标准输入读取n个整数?

我需要阅读以下内容:

5 60 35 42
2 38 6
5 8
300 1500 900
Run Code Online (Sandbox Code Playgroud)

然后将第一行保存在数组中.调用其他函数后,对下一行执行相同操作,依此类推.

我尝试使用gets()然后sscanf()用来扫描字符串中的整数,但我不知道如何从字符串中读取n个数字.

c++ stdin

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

PostgreSQL SELECT的速度是否受到表中过多索引的不利影响?

我已经读过,当在数据库上有很多索引它会严重损害性能但在PostgreSQL文档中我找不到任何关于它的东西.

我有一个非常大的表,有100列和10亿行,我经常需要在很多不同的领域进行大量的搜索.

如果添加大量索引(可能是10个唯一列索引和5个或7个3列索引),PostgreSQL表的性能是否会下降?

编辑:性能下降我的意思是获取行(select)的性能,数据库将每月更新一次,因此更新和插入时间不是问题.

postgresql indexing

9
推荐指数
1
解决办法
2457
查看次数

如何用Go提供http部分内容?

我有一个用go编写的网络服务器,我正在提供来自不同来源(本地,其他服务器,S3)的一些音频文件.我想为这些文件启用部分内容,以便HTML音频标签能够搜索和循环.

我怎么能得到这个?我知道httpServeContent函数可以做到这一点,但我怎么能通过自己提供文件来实现呢?我需要在没有这个的情况下这样做,以便我可以使用相同的处理程序提供来自不同来源的文件.

http go http-content-range server

9
推荐指数
1
解决办法
4118
查看次数

在C++中使用'this'是一个好习惯吗?

我想知道在C++中使用'this'是否是一个好习惯.起初我以为我应该这样,因为你明确表示你所引用的东西是当前类的成员,但有时你会用以下代码结束:

Document::Document(QWidget *parent) : QWidget(parent)
{
    this->file = 0;
    this->layout = new QGridLayout(this);
    this->layout->setSpacing(2);
    this->layout->setMargin(0);
    this->setLayout(this.layout);
    this->textArea = new QTextEdit(this);
    this->textArea->setLineWrapMode(QTextEdit::NoWrap);
    this->textArea->setAcceptDrops(true);
    this->textArea->setAcceptRichText(true);
    this->textArea->setUndoRedoEnabled(true);
    this->textArea->setFont(QFont("Mono" , 11));
    this->layout->addWidget(this->textArea);
    this->textArea->show();
    this->textArea->setFocus();
}
Run Code Online (Sandbox Code Playgroud)

我认为如果没有使用所有'this',这样会更好看this->layout->addWidget(this.textArea);.我认为代码在大多数情况下应该使用相同的样式,以便更容易阅读,所以我应该在必要时使用"this",或者使用它来表明你引用的是一个好的做法同一类的成员.

c++ coding-style

6
推荐指数
2
解决办法
2406
查看次数

是否可以在c ++中创建一个占用少于一个字节内存的类型?

对于我的计算,我只需要使用7位空间,所以我使用的是char类型.但是我想知道是否可以声明我自己的类型使用少于一个字节的内存?

c++ byte types primitive-types

6
推荐指数
2
解决办法
2695
查看次数

在 GNU 并行中执行 SCP

我需要并行运行一些命令,包括 SCP。为此,我使用 GNU Parallel。问题是我不知道如何将密码传递给 SCP。这是与我正在运行的类似的一行:

ls 2011_* | parallel scp {} user@domain
Run Code Online (Sandbox Code Playgroud)

如果ls找到3个文件,scp同时询问3次密码,我只能将密码输入到最后一个进程来提示输入。

我暂时解决了使用公钥连接的问题,但由于公司政策,这在将来不会成为一个选择。我阅读了 SCP 手册页,但找不到选项,但我非常有信心 Parallel 应该有一个选项允许我输入密码。

有人知道解决这个问题的方法吗?

编辑:我想知道是否有一种方法可以告诉parallel密码,以便它可以在scp每次询问时提供密码。也许有这样的事情:

ls 2011_* | parallel scp {} user@domain < file_with_password.txt
Run Code Online (Sandbox Code Playgroud)

但指定重定向STDIN是 forscp而不是 for lsor parallel

bash scp gnu-parallel

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

如何重命名zip存档中的文件而不提取和重新压缩它们?

我需要在所有的压缩文件中的文件从命名AAAAA-filename.txtBBBBB-filename.txt了,我想知道如果我可以,而不必提取所有文件,重命名自动执行此任务,然后再压缩。一次解压缩一个,然后重命名并再次压缩是可以接受的。

我现在所拥有的是:

for file in *.zip
do
    unzip $file
    rename_txt_files.sh
    zip *.txt $file
done;
Run Code Online (Sandbox Code Playgroud)

但是我不知道是否有一个更好的版本,我不必使用所有额外的磁盘空间。

linux bash

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

在Qt中如何在用户主页中打开QFileDialog :: getOpenFileNames

我正在使用Qt QFileDialog :: getSaveFileName和QFileDialog :: getOpenFileNames让用户选择保存文件的位置以及在我的应用程序中打开的文件.

此函数的第三个参数是您希望窗口默认打开的路径.在linux中,如何在用户主页中打开对话框,在Windows中如何在win 7中的用户用户文件夹或win xp中的"我的文档"中打开对话框?

目前我正在使用这样的对话框:QFileDialog::getOpenFileNames(this, "Select a file to open...", HOME);其中HOME是预处理器宏,在UNIX中是〜并且在Windows中是C:\

Unix的工作不起作用,并在二进制文件所在的同一文件夹中打开对话框.

c++ qt qt4

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