小编Al *_*l G的帖子

使用 psql 恢复时如何修复 postgresql .sql 转储文件中的语法错误?

我有一个由 pg_dump 在另一个 Windows 10 机器上创建的 postgresql .sql 转储文件。我正在尝试使用 \n"psql -U user -d database -1 -f filename.sql" 在我的 Windows 10 笔记本电脑上恢复它。我创建了数据库,但是当我运行命令进行恢复时,在我给它密码后,我从 psql 收到错误:

\n\n
\n

psql:filename.sql:1:1: 错误:“\xc3\xbf_”处或附近的语法错误\n 第 1 行:\xc3\xbf_;

\n
\n\n

该文件看起来像直的 ascii(我只在第一行看到两个破折号。我在任何地方都没有看到带有变音符号的 \'y\')。我用 cygwin bash 在 .sql 文件上创建了一个文件,它显示:

\n\n
\n

Little-endian UTF-16 Unicode 文本,具有很长的行,带有 CRLF、CR 行 > 终止符

\n
\n\n

我真的不想手动重新创建数据库。我正在寻找任何建议。

\n\n

我尝试了带或不带“-1”选项的 psql;没有运气。我尝试在 sql 文件的顶部放置一个 \';\' ,我发现它在某处建议;再次没有运气。

\n\n

我在 postgresql 安装上执行了 psql -l,并且所有数据库(包括我尝试恢复的数据库)上的编码显示为 UTF8。

\n\n

确实没有代码。只是我似乎无法恢复这个转储文件,因为它出错了。

\n\n

我认为这抓住了我的问题。我从中获取转储的 Windows 盒子现在无法使用;所以我只是希望有一种方法可以解决这个问题。我希望避免手动逐表重新创建数据库。

\n\n

谢谢 -

\n\n

\n

postgresql dump restore

8
推荐指数
2
解决办法
3971
查看次数

动态更改 paginate_by 的值

我希望能够允许用户更改默认页面大小 (paginate_by)。我当前的页面大小设置为 10;我想要按钮,比如 25、50 和所有。

我正在使用 postgresql 11.4 运行 Django 2.2 和 Python 3.73。我的 views.py 创建一个查询集并设置分页。我的 prod_list.html 模板以每页十行的方式正确显示页面中的数据。

这是我目前在 views.py 中的内容:

class ProdViewSet(viewsets.ModelViewSet):

    queryset = Proddetails.objects.all()
    serializer_class = ProdSerializer


class ProdListView(ListView):
    model = Proddetails
    template_name = 'prod_list.html'
    # added for pagination
    context_object_name =  'prods' #Default: object_list
    paginate_by = 10
Run Code Online (Sandbox Code Playgroud)

我希望能够让我的用户更改每页的行数。我想我需要根据用户单击的按钮重置paginate_by,但我该怎么做?

谢谢 -

好吧,我试图发表评论,但这并没有给我足够的空间。我希望这是执行此操作的正确方法:

非常感谢; 这样做的伎俩。不过,我修改了它以给我带页码的按钮,但我得到了一个奇怪的行为。我有一个 for 循环,用于将页码作为按钮输出:

{% for i in DataPaginated.paginator.page_range %}
  {% if DataPaginated.number == i %}
    <button class="w3-button w3-amber">{{ i }} </button>
  {% else …
Run Code Online (Sandbox Code Playgroud)

django pagination

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

标签 统计

django ×1

dump ×1

pagination ×1

postgresql ×1

restore ×1