我需要连接到提供一些凭据的PostgreSQL server,并为给定用户打印该主机上可用数据库的列表.

我正在努力:

<?php
    $connection = pg_connect("host=localhost user=testuser password=123 connect_timeout=5");
?>

我得到:

Warning: pg_connect() [function.pg-connect]: Unable to connect to PostgreSQL server: FATAL: database "testuser" does not exist in /var/www/test.php on line 56

我认为这一定是可能的,因为phpPgAdmin做到了这一点,但我查看了phpPpAdmin源代码,发现它们连接到一个名为template1的数据库.

http://www.postgresql.org/docs/8.1/interactive/manage-ag-templatedbs.html开始:

"创建数据库"实际上是通过复制现有数据库来工作的.通过

有没有一种不指定任何数据库的连接方式?

推荐答案

你可以连接到数据库."维护数据库"可以使用哪个数据库取决于安装和后续管理.默认安装后,有两个数据库可用于初始连接——"template1"和"postgres".创建并使用相同的数据库.

Postgresql相关问答推荐

Postgs SQL用于比较两个表之间的数据并填充到目标中

如何在查询空字段时设置pgtype.comb为默认值?

到第二天的Postgres计时器

如何在PostgreSQL中正确删除数据库

在Ubuntu 18.04 Bionic上安装PostgreSQL(已删除回购)

Postgres 11没有强制执行外键约束?

PostgreSQL 不删除旧的 WAL 档案

在 Postgresql 中实现自定义运算符时出错

PostgreSQL:如何从另一列的 json 值替换为一列?

从dump文件中恢复三张表遇到的问题

用于生产的 Rails 性能调优?

是否可以在 postgresql 中添加表元数据?

冲突中的 Postgres 会更新复合主键

Postgres 删除表语法错误

从time without time zone和时区名称中获取time with time zone

如何正确索引多对多关联表?

在 postgres 中存在不同的 string_agg 问题

如何将 Heroku PG 转储导入本地机器

判断 Postgres 中是否存在序列(plpgsql)

Select 后postgres更新