小编mhe*_*rzl的帖子

如何退出 postgres 的单用户模式?

我已经进入 postgres 的单用户模式

$ sudo -u postgres postgres --single -D /var/db/postgresql/

PostgreSQL stand-alone backend 9.4.11
backend>
Run Code Online (Sandbox Code Playgroud)

我可以使用什么命令来关闭单用户模式并返回到正常的$命令提示符?


该命令\q可用于退出psqlrepl,但该命令似乎不适用于 postgres 单用户模式,即

$ sudo -u postgres postgres --single -D /var/db/postgresql/

PostgreSQL stand-alone backend 9.4.11
backend> \q
ERROR:  syntax error at or near "\" at character 1
STATEMENT:  \q

backend>
Run Code Online (Sandbox Code Playgroud)

postgresql single-user

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

setup:程序'pg_config'是必需的但无法找到

在nixos上,当试图用我的项目构建时$ stack --nix build,我遇到了以下错误.

$ stack --nix build

...

Linking /run/user/1000/stack25943/postgresql-libpq-0.9.2.0/.stack-work/dist/x86_64-linux-nix/Cabal-1.24.2.0/setup/setup ...
Configuring postgresql-libpq-0.9.2.0...
setup: The program 'pg_config' is required but it could not be found.
Run Code Online (Sandbox Code Playgroud)

我已经按照nixos手册安装了postgres 并且已经pg_config安装了,如图所示

$ which pg_config
/run/current-system/sw/bin/pg_config
Run Code Online (Sandbox Code Playgroud)

看来堆栈不知道我的pg_config的这个位置.

我如何继续取得$ stack --nix build成功?

postgresql nixos haskell-stack

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

为什么这个表达式有一个有效的类型?

围绕着ghci,我碰巧注意到表达式(*) 1 [1..5]显然有一个有效的类型.

:t (*) 1 [1..5]
(*) 1 [1..5] :: (Enum t, Num [t], Num t) => [t]
Run Code Online (Sandbox Code Playgroud)

显然它是一个包含几个类型约束的列表,包括Num [t]对我来说看起来不可能,就像它应该给出错误一样.

这是表达式的类型怎么样?为什么ghci:t命令不在这里给出一个错误?

haskell ghci

3
推荐指数
1
解决办法
136
查看次数

fmap应用于类型变量以外的类型

我有一个数据类型,可以跟踪数字的"块"(有点像矩阵).

newtype Block a = Block [[a]]
Run Code Online (Sandbox Code Playgroud)

我想把它作为一个实例Functor.但是,我试图以fmap可以应用于整个列表块的方式来执行此操作,以便fmap具有类型fmap :: [[a]] -> [[b]]而不是类型fmap :: a -> b.

原因是因为我想映射到我的Block仿函数函数transpose,这些函数适用于列表块[[a]]而不是每个元素a.也就是说,我希望能够定义像这样的函数

transposeBlock :: Block a -> Block a
transposeBlock = (transpose <$>)
Run Code Online (Sandbox Code Playgroud)

我试图将我的仿函数实例声明如下.

instance Functor (Block [[a]]) where
  fmap f (Block x) = Block (f x)
Run Code Online (Sandbox Code Playgroud)

但是我遇到了尝试编译它时出现的类型错误.

error:
• Expecting one fewer argument to ‘Block [[a]]’
  Expected kind ‘* -> *’, but ‘Block [[a]]’ has kind ‘*’
• In the …
Run Code Online (Sandbox Code Playgroud)

haskell

3
推荐指数
1
解决办法
199
查看次数

为什么`stack build`改变我的.cabal文件?

我正在尝试构建一个使用Euterpea的项目.

运行stack build我收到以下错误,建议我需要添加Euterpeabuild-depends我的.cabal文件部分.

$ sb
composition-0.1.0.0: build (lib + exe)
Preprocessing library composition-0.1.0.0...
[2 of 2] Compiling Lib              ( src/Lib.hs, .stack-work/dist/x86_64-linux-nix/Cabal-1.24.2.0/build/Lib.o )

/home/matthew/backup/composition/composition/src/Lib.hs:5:1: error:
    Failed to load interface for ‘Euterpea’
    It is a member of the hidden package ‘Euterpea-2.0.4’.
    Perhaps you need to add ‘Euterpea’ to the build-depends in your .cabal file.
    Use -v to see a list of the files searched for.

--  While building package composition-0.1.0.0 using:
      /home/matthew/.stack/setup-exe-cache/x86_64-linux-nix/Cabal-simple_mPHDZzAJ_1.24.2.0_ghc-8.0.2 …
Run Code Online (Sandbox Code Playgroud)

haskell cabal haskell-stack euterpea

3
推荐指数
1
解决办法
344
查看次数

如何在spacemacs中安装flycheck?

我正在尝试flycheck与我的 spacemacs 设置一起使用。

“12.4.0.6 次要模式”下的spacemacs文档列出flycheck了可以使用SPC t s.

flycheck spacemacs 文档

但是,我的 spacemacs 设置中没有这样的选项。按SPC t会引发一组不包括s.

spacemacs 没有飞行检查

而且,如果我按SPC t s任何方式,我会收到消息SPC t s is undefined

如何安装 flycheck 以与 spacemacs 一起使用?

flycheck spacemacs

3
推荐指数
1
解决办法
2021
查看次数

在NixOS中,如何从命令行运行Haskell可执行文件?

我尝试按照此Blog的示例从命令行运行Haskell可执行文件。我的机器运行NixOS。

该博客是关于将Markdown识字的haskell编译为html,以发布博客文章。该过程的第一步是hscolour在.lhs文件上运行haskell程序,以创建一个.mkd文件,该文件的代码语法通过html和css突出显示。

cat blah.lhs | hscolour -lit -css > blah.mkd
Run Code Online (Sandbox Code Playgroud)

但是,当我尝试运行此命令时,出现以下command not found错误。

$ cat blah.lhs | hscolour -lit -css > blah.mkd                                                            
hscolour: command not found
Run Code Online (Sandbox Code Playgroud)

我不确定我遇到的问题是特定于NixOS,还是更广泛地将haskell可执行文件提供给命令行。如何使haskell可执行文件(如hscolour可从命令行获得)?


我试图从内部运行此命令nix-shellhscolour已经建成。hscolour仍然找不到该命令。

$ nix-shell -p "haskellPackages.ghcWithPackages (pkgs: with pkgs; [hscolour])"
$ cat functor-proofs.lhs | hscolour -li
hscolour: command not found
Run Code Online (Sandbox Code Playgroud)

haskell nixos

3
推荐指数
1
解决办法
344
查看次数

怎么把asciidoc转换成pdf?

我尝试将其转换mybook.adocmybook.pdfusing pandoc,并收到以下错误。

$ pandoc -s mybook.adoc -t asciidoc -o mybook.pdf
pandoc: cannot produce pdf output with asciidoc writer
Run Code Online (Sandbox Code Playgroud)

我还有其他工具可以代替或配合使用pandoc吗?如何将asciidoc转换为pdf?

asciidoc

3
推荐指数
4
解决办法
9553
查看次数

是否可以使用asciidoc和hakyll?

我按照本教程使用hakyll创建了一个基本的静态网页.它包括从posts目录中的markdown呈现的多个页面,例如2015-08-12-spqr.markdown.

我更喜欢asciidoc到markdown,并尝试2018-01-23_adoc-user-manual.asciidocpost目录中添加asciidoc .但是,hakyll在尝试编译页面时抛出错误:

Initialising...
  Creating store...
  Creating provider...
  Running rules...
Checking for out-of-date items
Compiling
  updated templates/default.html
  updated about.rst
  updated templates/post.html
  updated posts/2015-08-12-spqr.markdown
  updated posts/2015-10-07-rosa-rosa-rosam.markdown
  updated posts/2015-11-28-carpe-diem.markdown
  updated posts/2015-12-07-tu-quoque.markdown
  [ERROR] Hakyll.Web.readPandocWith: I don't know how to read a file of the type Binary for: posts/2018-01-23_adoc-user-manual.asciidoc
CallStack (from HasCallStack):
  error, called at lib/Hakyll/Web/Pandoc.hs:66:31 in hakyll-4.12.5.0-8ZITvFN5YREEKv6B76SCAd:Hakyll.Web.Pandoc
Run Code Online (Sandbox Code Playgroud)

这个问题pandocCompiler无法处理asciidoc吗?是否有可能使用asciidochakyll

haskell asciidoc pandoc hakyll

3
推荐指数
1
解决办法
158
查看次数

在Postgres中放置复杂唯一性约束?

Postgres,我有一个user_badge包含三列的表,显示如下.

# select * from user_badge;
 id | user_id | badge_id | is_active |
----+---------+----------+------------
 1    bob       00001      False
 2    bob       00002      True
 3    alice     00003      True
 4    alice     00004      False
 5    alice     00005      False
Run Code Online (Sandbox Code Playgroud)

在此表中,用户可以拥有多个徽章,但每个用户不得拥有多个活动徽章(即列为is_activeTrue的行).

另一种说法,就是查询

SELECT user_id FROM user_badge WHERE is_active;
Run Code Online (Sandbox Code Playgroud)

必须返回唯一的行.

这是我希望放在这张桌子上的一个限制因素.有没有办法指定Postgres保证它?在Postgres 关于约束文档中,我看到如何可以在列和一组列上放置唯一性约束,但是没有看到唯一性约束涉及的示例WHERE.

postgresql constraints

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