所以这可能是一个愚蠢的问题,但我真的很陌生。所以我在 postgres 服务器上创建一个 Postgres 数据库,我用这个命令启动:
sudo -u postgres psql
Run Code Online (Sandbox Code Playgroud)
然后我做了以下命令:
CREATE DATABASE database;
Run Code Online (Sandbox Code Playgroud)
据说创建了数据库。但是这个数据库在哪里?我在哪里可以在我的电脑上找到它?
小智 9
您的数据的确切存储位置取决于您安装和配置 PostgreSQL 的方式。运行
show data_directory
Run Code Online (Sandbox Code Playgroud)
命令作为 postgres 用户(来自 psql 工具或其他客户端)会告诉你它在哪里。例如,如果您从 debian 或 ubuntu 存储库安装它,您可能会发现您的数据文件位于 /var/lib/postgresql/9.2/main 之类的地方。
不过那里可能没有什么特别有趣的东西。有时有一些配置文件,如 pg_hba.conf(Windows 版本至少将它们放在那里),但如果您使用的是 debian,您会在 /etc/postgresql/ 下找到这些文件。
如果您希望您的数据库是一个可以在系统之间移动的单个文件,那么您最好使用更简单的嵌入式数据库,如 sqlite。
要查看数据目录的位置,请使用此查询。
show data_directory;
Run Code Online (Sandbox Code Playgroud)
要查看所有运行时参数,请使用
show all;
Run Code Online (Sandbox Code Playgroud)
您可以在文件系统的其他部分创建表空间。要查看表空间的位置(可能位于数据目录之外的文件系统中的某个位置),请使用此查询。
SELECT * FROM pg_tablespace;
Run Code Online (Sandbox Code Playgroud)
当您执行“CREATE DATABASE数据库”命令时,它使用pg_default表空间;
你可以先创建自己的表空间,比如
CREATE TABLESPACE tbs_01 [ OWNER user_name ] LOCATION 'directory';
Run Code Online (Sandbox Code Playgroud)
然后创建数据库:
CREATE DATABASE datname
WITH OWNER = user_name
TEMPLATE = template0
ENCODING = 'UTF8'
TABLESPACE = tbs_01;
Run Code Online (Sandbox Code Playgroud)