我可以访问科学 HPC 上的一台机器,并且正在设置一个环境来创建一个 Web 应用程序,该应用程序基本上由以下部分组成:雄猫和PostgreSQL。我无法使用其他 Web 服务器。
操作系统是 Linux 和 Debian(squeeze),我没有根访问机器。
在 Google 上搜索了一下之后,我只找到了需要 root 权限才能安装 postgresql 的方法(apt-get ....)。
是否可以在具有完全权限的本地目录中安装 postgresql?或者 postgresql 是否一定需要 root 访问权限才能安装?为什么?
答案1
是的,无需 root 身份即可安装 PostgreSQL, 虽然安装必须手动完成,因为您不能使用发行版的包管理器。
答案2
两种方式:
- 从源代码编译; 或者
- 下载 EnterpriseDB 的预编译平台无关二进制文件然后
initdb
自己并使用 启动服务器pg_ctl
。
答案3
这可以节省我很多时间,下载二进制文件,将其放在文件共享或云中,然后:
Linux:
aws s3 cp 's3://yourAwsBucket/postgresql-9.6.21-1-linux-x64-binaries.tar.gz' .
tar xvzf postgresql-9.6.21-1-linux-x64-binaries.tar.gz
cd pgsql/bin
psql -c 'Select version();' "postgresql://<user>:<password>@<dbendpoint>/<dbName>"
或者如果你得到没有这样的文件或目录“psql”使用子进程,尝试放入狂欢作为第一个参数:
print(subprocess.run(['bash','psql','-c','Select version();','postgresql://<user>:<password>@<dbendpoint>/<dbName>'],shell=isWindows, stdout=subprocess.PIPE, stderr=subprocess.PIPE).stdout.decode('ascii'))
视窗: