PostgreSQL文件中的占位符
我有多个以相同方式创建的表(相同的列、索引等) 我希望有一个sql文件来创建它们,而不复制create语句 有没有一种方法可以在sql文件中使用某种占位符,当使用参数执行sql文件时,这些占位符将被替换 例如,我希望有以下sql语句:PostgreSQL文件中的占位符,postgresql,Postgresql,我有多个以相同方式创建的表(相同的列、索引等) 我希望有一个sql文件来创建它们,而不复制create语句 有没有一种方法可以在sql文件中使用某种占位符,当使用参数执行sql文件时,这些占位符将被替换 例如,我希望有以下sql语句: drop table if exists schema.%PLACEHOLDER%; create table schema.%PLACEHOLDER%(id text, data text); 并使用以下命令执行该脚本: psql -f mysqlfile.s
drop table if exists schema.%PLACEHOLDER%;
create table schema.%PLACEHOLDER%(id text, data text);
并使用以下命令执行该脚本:
psql -f mysqlfile.sql -magic_parameter my_desired_table_name
在执行PostgreSQL文件时,这是可能的,还是可能以其他方式实现同样的效果(使用sed除外)?如果您使用的是
psql
,则可以按如下方式使用变量:
drop table if exists schema.:placeholder;
调用是:
psql -f mysqlfile.sql -v placeholder=table_name
可能重复的