Postgresql psql函数写在单独的文件中
我在博士后学习psql。 我的基本问题是,当我创建这样一个函数时:Postgresql psql函数写在单独的文件中,postgresql,psql,Postgresql,Psql,我在博士后学习psql。 我的基本问题是,当我创建这样一个函数时: CREATE OR REPLACE FUNCTION totalRecords () RETURNS integer AS $total$ declare total integer; BEGIN SELECT count(*) into total FROM COMPANY; RETURN total; END; $total$ LANGUAGE plpgsql; 我必须在提示符命令行中编写所有代码。 如何将
CREATE OR REPLACE FUNCTION totalRecords ()
RETURNS integer AS $total$
declare
total integer;
BEGIN
SELECT count(*) into total FROM COMPANY;
RETURN total;
END;
$total$ LANGUAGE plpgsql;
我必须在提示符命令行中编写所有代码。
如何将此代码保存在脚本中并从命令行调用它?scirpt的扩展名必须是.sql?这个脚本怎么叫 将脚本保存到文件中。然后像这样执行:
psql -p portnumber -d database -U user -f mysqlscrpt.sql
脚本的扩展并不重要。在控制台中键入
psql-?
,并仔细阅读输出。您将发现-f,--file=FILENAME从文件中执行命令,然后退出。您也可以使用重定向,比如psql
。祝你好运。完整的命令行是psql-h hostname-p portnumber-d database-U username-f input.sql-L executionlog.txt-o outputfile.txt
,可能需要为会话设置PGPASSWORD
环境变量以避免psql交互。如果出于您的目的,这些参数是默认的,您可以删除它们中的任何一个。好吧,非常感谢,但我有一个问题:PGPASSWORD环境变量是什么?对于Windows,在调用psql
之前执行set PGPASSWORD=
,对于Linuxexport PGPASSWORD=
,以避免它要求您为postgres用户输入密码(它将改为使用值)。