我需要在 Linux 服务器上创建一个 postgres 数据库。但是,我没有管理员权限,无法使用 sudo。如何在不使用 sudo 的情况下安装 postgres 并创建数据库。我看了几个教程,但都包含 sudo 的使用。
答案1
我们确实需要更多细节才能获得完整答案,但您有几个选择。
如果系统上已经安装了 postgresql 软件包,请要求管理员为您创建一个数据库并仅授予您该数据库的权限。如果数据库引擎已经存在,这是最简单的解决方案。如果它存在但管理员不想合作,您可以创建自己的 pg 配置文件,指向严格本地实例并运行您自己的守护程序副本。
第二种选择,假设有编译环境,就是下载源码包,自己编译。postgres.org有关如何以不需要任何系统权限的方式执行此操作的说明。
第三种选择是从 [postgresql 下载页面][https://ftp.postgresql.org/pub/repos/] 下载 .rpm 或 .deb 文件。然后,您需要强制将这些文件安装在您自己的主目录下。对于 REL 类型的系统,研究rpm -i --relocate
.对于 Debian/Ubuntu,您可能不需要下载 .deb 文件,而只需使用apt install postgresql-16 -o DPkg::options::="--root=/home/heyula/pgsql"
.您可能仍然需要为特定存储库指定源文件。无论哪种情况,系统的包管理器都会用于安装,但已安装包的系统数据库不会更新。
您也许还可以找到一个预构建的 postgresql tar.gz 文件,您可以直接解压该文件。这些很少见,但确实存在。除非其他一切都失败,否则我会避免使用此选项。
在任何这些情况下,您都不可能在没有 sudo 权限的情况下侦听端口 5432,除非放宽了防火墙规则。除了侦听端口之外,您不需要 sudo 权限或运行容器的能力来设置您自己的 postgresql 实例。