如何退出 PSQL CREATE FUNCTION 屏幕

Posted

技术标签:

【中文标题】如何退出 PSQL CREATE FUNCTION 屏幕【英文标题】:How to exit PSQL CREATE FUNCTION screens 【发布时间】:2016-06-01 23:19:54 【问题描述】:

我是在 Postgres 中编写函数的新手..

我不想完全退出 PSQL,(我知道 CTRL+D 会这样做,)但我似乎卡在 CREATE FUNCTION 屏幕中。

mattswheels=# CREATE OR REPLACE FUNCTION 99_cents(money)
mattswheels-#  RETURNS money
mattswheels-#  LANGUAGE plpgsql
mattswheels-#  LEAKPROOF
mattswheels-# AS $function$
mattswheels$# DECLARE
mattswheels$#     new_price money;
mattswheels$#     size int;
mattswheels$# BEGIN
mattswheels$#     size := char_length(money);
mattswheels$#     RETURN size;
mattswheels$# END;
mattswheels$# 
mattswheels$# \q
mattswheels$# halp
mattswheels$# ;
mattswheels$# ;
mattswheels$# ;
mattswheels$# ;
mattswheels$# help
mattswheels$# ;
mattswheels$# \?

【问题讨论】:

注意:您的$function$美元报价尚未结束。 那么我该如何结束呢? postgresql.org/docs/9.1/static/sql-createfunction.html What are '$$' used for in PL/pgSQL 【参考方案1】:

试试 CTRL+C。它会丢弃最后一个带有未终止引号的查询。

【讨论】:

【参考方案2】:

首先,我发现 postgres 函数不能以数字开头。

ERROR:  syntax error at or near ".99"
LINE 1: CREATE OR REPLACE FUNCTION public.99cents(money)

其次,要退出上述$function$ 声明的问题,需要这样关闭:

$function$;

据我所知,没有其他按键可以退出 CREATE FUNCTION 屏幕,除非使用 CTRL+D 完全退出 PSQL。

【讨论】:

以上是关于如何退出 PSQL CREATE FUNCTION 屏幕的主要内容,如果未能解决你的问题,请参考以下文章

如何从 PostgreSQL 退出/注销? [复制]

如何在黄瓜rails中将mysql转换为psql

PostgreSQL操作-psql基本命令

在 psql 中创建“计数器”数组

PostgreSQL 的命令行工具 psql 的常用命令

PostgreSQL数据库创建/删除