Postgresql 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; 我必须在提示符命令行中编写所有代码。 如何将

我在博士后学习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;
我必须在提示符命令行中编写所有代码。
如何将此代码保存在脚本中并从命令行调用它?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=
,对于Linux
export PGPASSWORD=
,以避免它要求您为postgres用户输入密码(它将改为使用值)。