标签: postgresql

无法安装 libpq-dev、ubuntu 10.10 和 postgres 9

我需要一些来自 libpq-dev 中包含的 postgres 9 开发版本的头文件,用于安装pggem,但是当我执行时:

须藤 apt-get 安装 libpq-dev

我得到结果:

以下软件包具有未满足的依赖项: libpq-dev : Depends: libpq5 (= 8.4.7-0ubuntu0.10.10) 但要安装 9.0.1-1~lucid

当我尝试删除libpq5(正确重新安装它?)时,它威胁要删除 postgresql-9.0:

以下软件包将被删除: libpq5 pgadmin3 php5-pgsql postgresql-9.0 postgresql-client-9.0

有谁知道如何解决这个问题?谢谢。

postgresql ubuntu ruby-on-rails

4
推荐指数
1
解决办法
3419
查看次数

如何在 pgpass.conf 中为 Windows Server 2008 上的管理员帐户设置 postgresql 密码?

我有一个适用于我的默认用户的 pgpass.conf 文件。它在C:/Users/myuser/AppData/Roaming/postgresql/pgpass.conf. 它读起来是这样的;

localhost:5432:*:postgres:password1
Run Code Online (Sandbox Code Playgroud)

我有一个在管理员帐户下运行的进程。当我whoami在这个过程下运行时,我得到nt authority/system. 我希望能够从这个过程访问数据库,但它卡住了,因为它需要密码。我试过把上面的 pgpass.conf 放进去C:/Users/Administrator/AppData/postgresql/pgpass.confC:/Users/Administrator/AppData/Roaming/postgresql/pgpass.conf但它不起作用。这是该文件的正确位置吗?我什至能够以管理员身份做到这一点。不幸的是,我无法更改运行此进程的用户。

postgresql windows-server-2008

4
推荐指数
1
解决办法
4万
查看次数

""psql"" 和 ""postgres"" 命令有什么区别?

我正在运行山狮,当我运行psqlorpostgres命令时,我得到了非常不同的响应。

对于前者,我得到:

> psql
ovatsug25=#
Run Code Online (Sandbox Code Playgroud)

对于后者,我得到:

> postgres
postgres does not know where to find the server configuration file.
Run Code Online (Sandbox Code Playgroud)

您必须指定--config-file-D调用选项或设置PGDATA环境变量。

我通过自制软件安装了 postgres 并运行

rm /usr/bin/psql
Run Code Online (Sandbox Code Playgroud)

这样做之后。

我的主要问题已修复(Rails 启动并连接到数据库),但我不确定这些命令之间的区别在哪里或如何发生。在此期间仍在试图弄清楚面包......我很感激任何帮助。

他们的位置

which psql
/usr/local/bin/psql
Run Code Online (Sandbox Code Playgroud)

和哪个postgres

which postgres
/usr/local/bin/postgres
Run Code Online (Sandbox Code Playgroud)

postgresql

4
推荐指数
1
解决办法
7906
查看次数

将 postgresql 数据库的权限授予另一个用户

我正在尝试为每个用户设置一个带有 PostgreSQL 数据库的系统,并为关联帐户设置一个 PHP-FPM 资源池。我需要将数据库的所有权限授予其他用户,但似乎只能对表执行此操作。

我试过了

将数据库用户名的所有权限授予 username_shadow

但这仅提供有限的特权。

我已升级到 PGSQL 9.2,它能够授予架构特权,但我无法获得有用的结果。我如何简单地让另一个用户在同一个数据库上拥有第一个用户的所有权限?

postgresql permissions

4
推荐指数
1
解决办法
9137
查看次数

Postgresql 无法识别,即使它已安装

Postgresql 8.4 似乎安装正确,根据这个:

sudo yum install postgresql 
Loaded plugins: product-id, refresh-packagekit, rhnplugin, security, subscription-manager 
This system is not registered to Red Hat Subscription Management. You can
use subscription-manager to register. 
This system is receiving updates from RHN Classic or RHN Satellite. 
Setting up Install Process 
Package postgresql-8.4.13-1.el6_3.x86_64 already installed and latest version
Nothing to do
Run Code Online (Sandbox Code Playgroud)

但是,当我尝试运行它时,它无法识别:

$ sudo /sbin/service postgresql initdb
postgresql: unrecognized service
Run Code Online (Sandbox Code Playgroud)

这是 RHEL 6.3

postgresql linux redhat yum

4
推荐指数
1
解决办法
1万
查看次数

postgreSQL 的“信任”和“身份”的区别?

在 postgreSQL 中/var/lib/pgsql/data/pg_hba.conf trustident可以method像这样设置。

# TYPE  DATABASE    USER        CIDR-ADDRESS          METHOD
local   all         postgres                          trust
host    all         postgres    127.0.0.1/32          trust
Run Code Online (Sandbox Code Playgroud)

我的印象是,两者的区别在于trustroot可以做到

psql postgres
Run Code Online (Sandbox Code Playgroud)

并与ident我只好

sudo -u postgres psql postgres
Run Code Online (Sandbox Code Playgroud)

但是,即使使用trust.

一个人能解释的区别是什么trustident

postgresql linux ubuntu centos

4
推荐指数
2
解决办法
1万
查看次数

为什么 sudo 不知道 psql 在哪里?

问题

CKAN安装文档展示了如何列出已安装PostgreSQL数据库。

该命令如下所示:

sudo -u postgres psql -l
Run Code Online (Sandbox Code Playgroud)

当我在我的 shell 中尝试时,我收到一个错误:

$ sudo -u postgres psql -l
sudo: psql: command not found
Run Code Online (Sandbox Code Playgroud)

解决方法

CentOS 论坛上的 Daniel2d2art通过完全限定 psql 的路径解决了这个问题。

我的 psql 位于目录中/usr/pgsql-9.2/bin,所以我的解决方法现在看起来像这样:

sudo -u postgres /usr/pgsql-9.2/bin/psql -l
Run Code Online (Sandbox Code Playgroud)

当我在我的 shell 中尝试时,它可以工作:

$ sudo -u postgres /usr/pgsql-9.2/bin/psql -l
                                   List of databases
     Name     |  Owner   | Encoding |   Collate   |    Ctype    |   Access privileges
--------------+----------+----------+-------------+-------------+-----------------------
 postgis_test | postgres | UTF8     | en_US.UTF-8 | en_US.UTF-8 |
 postgres     | postgres | …
Run Code Online (Sandbox Code Playgroud)

postgresql centos sudo

4
推荐指数
1
解决办法
1万
查看次数

如何禁用 1 个版本的 PostgreSQL 服务器而不卸载它

我已经安装的PostgreSQL9.19.2我的Ubuntu的机器上。postgresql 服务启动两个版本:

$ sudo service postgresql start
$ * Starting PostgreSQL 9.1 database server  [ OK ]
$ * Starting PostgreSQL 9.2 database server  [ OK ]
Run Code Online (Sandbox Code Playgroud)

我只想启动9.2服务器但不卸载9.1,这可能吗?

postgresql database-administration

4
推荐指数
1
解决办法
5256
查看次数

不断备份大型 PostgreSQL 数据库

我在 PostgreSQL 9.2 中有一个 20 Tb 的数据库,我不知道如何有效地创建备份。这是一个每天都在增长一点的数据库,并且在每个月的 1 号它增长大约 200 Gb。

本来想做pg_dump的,但是每个月都做太多了,后来想做一次,然后用copy只备份新表或者修改过的表,但是不能停止使用数据库为了创建第一个转储,所以我不会确切地知道备份包含哪些数据。

如何在不停止使用数据库的情况下进行增量备份?

postgresql backup

4
推荐指数
1
解决办法
7255
查看次数

PostgreSQL /data 文件的权限应该是什么?

我从 osX 二进制文件安装了 Postgres 9.3。
当我尝试使用 pg_ctl restart 重新启动时,收到以下错误:

$ pg_ctl restart
pg_ctl: could not open PID file "/Library/PostgreSQL/9.3/data/postmaster.pid": Permission denied

Bryan@bryans-mbp Fri Jun 13 13:41:24 ~   
$ sudo ls -la /Library/PostgreSQL/9.3/data/postmaster.pid  
Password:  
-rw-------  1 postgres  daemon  75 Jun 11 10:36 /Library/PostgreSQL/9.3/data/postmaster.pid  
Run Code Online (Sandbox Code Playgroud)

谁应该拥有这个文件,权限应该是什么?

postgresql unix permissions mac-osx

4
推荐指数
1
解决办法
1万
查看次数