小编dwi*_*ich的帖子

pg_dump忽略表序列?

我最近一直在玩PostgreSQL,并且无法理解如何备份和恢复单个表.

我使用pgadmin3备份数据库中的单个表,以便将其复制到其他服务器.当我尝试对文件执行pg_restore时,我收到错误消息,指出该序列不存在:

pg_restore: [archiver (db)] could not execute query: ERROR:  relation "businesses_id_seq" does not exist
    Command was: 
CREATE TABLE businesses (
    id integer DEFAULT nextval('businesses_id_seq'::regclass) NOT NULL,
    name character varyin...
Run Code Online (Sandbox Code Playgroud)

看起来转储文件不包含我的自动递增列的序列.如何将其包括在内?

postgresql pg-dump pg-restore

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

如何使用Python从XML中删除元素

我厌倦了XML和Python.任务很简单,但到目前为止我无法解决它并花了很长时间.我来这里是为了建议如何用几行来解决它.

感谢您遍历树的任何帮助.我总是得到太多或太少的元素.元素可以无限制地嵌套.举个例子就是一个例子.我会接受任何解决方案,而不是挑剔dom,minidom,sax,等等......

我有一个类似于这个的XML文件:

<root>
    <elm>
        <elm>Common content</elm>

        <elm xmlns="http://example.org/ns">
            <elm lang="en">Content EN</elm>
            <elm lang="cs">žlu?ou?ký koní?ek</elm>
        </elm>

        <elm xml:id="abc123">Common content</elm>

        <elm lang="en">Content EN</elm>
        <elm lang="cs">Content CS</elm>

        <elm lang="en">
            <elm>Content EN</elm>
            <elm>Content EN</elm>
        </elm>

        <elm lang="cs">
            <elm>Content CS</elm>
            <elm>Content CS</elm>
        </elm>
    </elm>
</root>
Run Code Online (Sandbox Code Playgroud)

我需要的 - 解析XML并编写一个新文件.新文件应包含给定语言的所有元素和没有lang属性的元素.

对于"cs"语言,输出文件应包含以下内容:

<root>
    <elm>
        <elm>Common content</elm>

        <elm xmlns="http://example.org/ns">
            <elm lang="cs">žlu?ou?ký koní?ek</elm>
        </elm>

        <elm xml:id="abc123">Common content</elm>

        <elm lang="cs">Content CS</elm>

        <elm lang="cs">
            <elm>Content CS</elm>
            <elm>Content CS</elm>
        </elm>
    </elm>
</root>
Run Code Online (Sandbox Code Playgroud)

如果你可以让它省略lang新文件中的属性,那就更好了.但它并不重要.

UPDATE1:添加了unicode字符和名称空间属性.

UPDATE2:使用Python 2.5,首选标准库.

python xml

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

为什么 Python 中的 traceback.extract_stack() 这么慢?

在测试期间,我发现调用traceback.extract_stack()非常慢。获取堆栈跟踪的价格与执行数据库查询相当。

我想知道我是否做错了什么或遗漏了什么。令我惊讶的是,我认为调用extract_stack()是 Python 中的内部调用,它是在运行时在内存中执行的,如果不是即时的,它应该是超快的。相比之下,调用数据库查询涉及到外部服务(网络通信)等。

示例代码如下。您可以尝试在 20.000 次迭代中检索回溯所需的时间以及从堆栈跟踪中检索前几项的速度 - 将limit=None参数设置为其他内容。

我的测试在各种系统/配置上显示了各种结果,但都有一个共同点,即调用堆栈跟踪并不是便宜几个数量级,它几乎与调用 SQL insert 相同

           20k SQL inserts | 20k stack traces
Win                5.4 sec           14.4 sec
FreeBSD            5.0 sec            3.7 sec
Ubuntu GCP        16.6 sec            2.4 sec
Run Code Online (Sandbox Code Playgroud)

Windows:笔记本电脑,本地 SSD。FreeBSD:服务器,本地 SSD。Ubuntu:谷歌云,共享 SSD。

我做错了什么或者有什么解释为什么 traceback.extract_stack() 这么慢?我可以以某种方式更快地检索堆栈跟踪吗?

示例代码。运行$ pip install pytest然后$ pytest -s -v

import datetime
import unittest
import traceback


class TestStackTrace(unittest.TestCase):

    def test_stack_trace(self):
        start_time = datetime.datetime.now()
        iterations = 20000 …
Run Code Online (Sandbox Code Playgroud)

python stack-trace

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

Python正则表达式:一行中的多个匹配(使用findall())

我在文本中寻找这些"标签":{t d="var1"}var2{/t}或者{t d="varA"}varB{/t} 可以有更多属性,只有"d"是强制性的:{t d="var1" foo="bar"}var2{/t}

我的问题是 - 如果一行上有更多标签,则只返回一个结果,而不是全部结果.返回的内容(来自下面的测试字符串): (u'single1', u'Required item3')

我希望得到什么: (u'single1', u'required1') (u'single2', u'Required item2') (u'single3', u'Required item3') 我对此感到困惑.它每行使用一个标记,但每行不使用更多标记.

# -*- coding: UTF-8 -*-
import re

test_string = u'''
<span><img src="img/ico/required.png" class="icon" alt="{t d="single1"}required1{/t}" title="{t d="single2"}Required item2{/t}" /> {t d="single3"}Required item3{/t}</span>
'''


re_pattern = '''
    \{t[ ]{1}       # start tag name
    d="         # "d" attribute
    ([a-zA-Z0-9]*)      # "d" attribute content
    ".*\}       # end of "d" attribute
    (.+)        # tag content
    \{/t\}      # end …
Run Code Online (Sandbox Code Playgroud)

python regex

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

标签 统计

python ×3

pg-dump ×1

pg-restore ×1

postgresql ×1

regex ×1

stack-trace ×1

xml ×1