查找是否存在 bash 的 PostgreSQL 数据库
Find if a PostgreSQL database exists with bash
我有一个 bash 函数,用于检查 PostgreSQL 数据库是否已经存在。
我捕获了输出。如果数据库存在 PostgreSQL returns 数据库名称作为响应。
function is_database() {
local database=
local output=$(sudo -u postgres psql -c "SELECT datname FROM pg_catalog.pg_database WHERE datname=\"$database\";")
if [[ $output = *""* ]]
then
return 0
else
return 1
fi
}
is_database test
我收到以下错误:
column "test" does not exist
我不是在搜索 table,而是在搜索数据库。
对字符串文字使用单引号:
sudo -u postgres psql \
-c "SELECT datname FROM pg_catalog.pg_database WHERE datname='$database'"
您的代码不适用于 has spaces
或 has'quotes
.
等数据库名称
我有一个 bash 函数,用于检查 PostgreSQL 数据库是否已经存在。
我捕获了输出。如果数据库存在 PostgreSQL returns 数据库名称作为响应。
function is_database() {
local database=
local output=$(sudo -u postgres psql -c "SELECT datname FROM pg_catalog.pg_database WHERE datname=\"$database\";")
if [[ $output = *""* ]]
then
return 0
else
return 1
fi
}
is_database test
我收到以下错误:
column "test" does not exist
我不是在搜索 table,而是在搜索数据库。
对字符串文字使用单引号:
sudo -u postgres psql \
-c "SELECT datname FROM pg_catalog.pg_database WHERE datname='$database'"
您的代码不适用于 has spaces
或 has'quotes
.