postgre資料庫查詢編譯器
這是提示的錯誤解釋信息:
d:/mingw/bin/../lib/gcc/mingw32/3.4.5/../../../../include/sys/time.h:27: error: redefinition of `struct timezone'
struct timezone的定義有重復.你可以查一下是不是有多於一個地方定義了timezone.
d:/mingw/bin/../lib/gcc/mingw32/3.4.5/../../../../include/sys/time.h:40: error: conflicting types for 'gettimeofday'
是指變數gettimeofday的實際定義類型與declare它的地方的類型不一致.你可以檢查time.h文件的類型!
❷ centos6.3裝配postgresq 3種方式怎麼解決
一、簡介扒含
PostgreSQL 是一種非常復雜的對象-關系型資料庫管理系統(ORDBMS),也是目前功能最強大,特性最豐富和最復雜的自由軟體資料庫系激絕統。有些特性甚至連商業資料庫都不具備。這個起源於伯克利(BSD)的資料庫研究計劃目前已經衍生成一項國際開發項目,並且有非常廣泛的用戶。
二、系統環境
系統平台:CentOS release 6.3 (Final)
PostgreSQL 版本:PostgreSQL 9.2.4
防火明此姿牆已關閉/iptables: Firewall is not running.
SElinux=disabled
三、安裝方式
A. RPM包安裝
B. yum 安裝
C. 源碼包安裝
四、安裝過程
A. RPM包安裝
1. 檢查PostgreSQL 是否已經安裝
# rpm -qa|grep postgres
若已經安裝,則使用rpm -e 命令卸載。
2. 下載RPM包
#wget http://yum.postgresql.org/9.2/redhat/rhel-6-i386/postgresql92-server-9.2.4-1PGDG.rhel6.i686.rpm
#wget http://yum.postgresql.org/9.2/redhat/rhel-6-i386/postgresql92-contrib-9.2.4-1PGDG.rhel6.i686.rpm
#wget http://yum.postgresql.org/9.2/redhat/rhel-6-i386/postgresql92-libs-9.2.4-1PGDG.rhel6.i686.rpm
#wget http://yum.postgresql.org/9.2/redhat/rhel-6-i386/postgresql92-9.2.4-1PGDG.rhel6.i686.rpm
3. 安裝PostgreSQL,注意安裝順序
# rpm -ivh postgresql92-libs-9.2.4-1PGDG.rhel6.i686.rpm
# rpm -ivh postgresql92-9.2.4-1PGDG.rhel6.i686.rpm
# rpm -ivh postgresql92-server-9.2.4-1PGDG.rhel6.i686.rpm
# rpm -ivh postgresql92-contrib-9.2.4-1PGDG.rhel6.i686.rpm
4. 初始化PostgreSQL 資料庫
PostgreSQL 服務初次啟動的時候會提示初始化。
初始化資料庫
# service postgresql-9.2 initdb
5. 啟動服務
# service postgresql-9.2 start
6. 把PostgreSQL 服務加入到啟動列表
# chkconfig postgresql-9.2 on
# chkconfig --list|grep postgres
7. 修改PostgreSQL 資料庫用戶postgres的密碼(注意不是linux系統帳號)
PostgreSQL 資料庫默認會創建一個postgres的資料庫用戶作為資料庫的管理員,默認密碼為空,我們需要修改為指定的密碼,這里設定為』postgres』。
# su - postgres
$ psql
# ALTER USER postgres WITH PASSWORD 'postgres';
# select * from pg_shadow ;
8. 測試資料庫
8.1 創建測試資料庫
# create database david;
8.2 切換到david 資料庫
# \c david
8.3 創建測試表
david=# create table test (id integer, name text);
8.4 插入測試數據
david=# insert into test values (1,'david');
INSERT 0 1
david=#
8.5 選擇數據
david=# select * from test ;
id | name
----+-------
1 | david
(1 row)
david=#
測試完成,RPM包安裝成功。
9. 修改linux 系統用戶postgres 的密碼
PostgreSQL 資料庫默認會創建一個linux 系統用戶postgres,通過passwd 命令設置系統用戶的密碼為post123。
# passwd postgres
10. 修改PostgresSQL 資料庫配置實現遠程訪問
10.1 修改postgresql.conf 文件
# vi /var/lib/pgsql/9.2/data/postgresql.conf
如果想讓PostgreSQL 監聽整個網路的話,將listen_addresses 前的#去掉,並將 listen_addresses = 'localhost' 改成 listen_addresses = '*'
10.2 修改客戶端認證配置文件pg_hba.conf
將需要遠程訪問資料庫的IP地址或地址段加入該文件。
# vi /var/lib/pgsql/9.2/data/pg_hba.conf
11. 重啟服務以使設置生效
# service postgresql-9.2 restart
12. 遠程測試連接
連接成功。
B. yum 安裝
1. 將剛才安裝的PostgreSQL 卸載
//停止PostgreSQL服務
# /etc/init.d/postgresql-9.2 stop
//查看已安裝的包
# rpm -qa|grep postgres
//卸載
# rpm -e postgresql92-server-9.2.4-1PGDG.rhel6.i686
# rpm -e postgresql92-contrib-9.2.4-1PGDG.rhel6.i686
# rpm -e postgresql92-9.2.4-1PGDG.rhel6.i686
# rpm -e postgresql92-libs-9.2.4-1PGDG.rhel6.i686
2. yum 安裝
如果是默認yum 安裝的話,會安裝較低版本的PostgreSQL 8.4,這不符合我們的要求。
我們使用PostgreSQL Yum Repository 來安裝最新版本的PostgreSQL。
2.1 安裝PostgreSQL yum repository
# rpm -i http://yum.postgresql.org/9.2/redhat/rhel-6-x86_64/pgdg-redhat92-9.2-7.noarch.rpm
2.2 安裝新版本PostgreSQL
# yum install postgresql92-server postgresql92-contrib
2.3 查看安裝
3. 初始化並啟動資料庫
4. 測試
其他步驟如A方式。
C. 源碼包安裝
1. 下載PostgreSQL 源碼包
# wget http://ftp.postgresql.org/pub/source/v9.2.4/postgresql-9.2.4.tar.bz2
2. 解壓源碼包
# tar xjf postgresql-9.2.4.tar.bz2
3. 進入解壓後的目錄
# cd postgresql-9.2.4
4. 查看INSTALL 文件
INSTALL 文件中Short Version 部分解釋了如何安裝PostgreSQL 的命令,Requirements 部分描述了安裝PostgreSQL 所依賴的lib,比較長,先configure 試一下,如果出現error,那麼需要檢查是否滿足了Requirements 的要求。
5. 開始編譯安裝PostgreSQL 資料庫。
[root@TS-DEV postgresql-9.2.4]# ./configure
configure 成功,無錯誤。
6. 執行gmake
[root@TS-DEV postgresql-9.2.4]# gmake
gmake 成功,Ready to install.
7. 執行gmake install
[root@TS-DEV postgresql-9.2.4]# gmake install
gmake install 成功,到這一步,PostgreSQL 源碼編譯安裝完成,下面開始配置PostgreSQL.
8. 設置環境變數
# vi .bash_profile
把 PATH=$PATH:$HOME/bin
改成 PATH=$PATH:$HOME/bin:/usr/local/pgsql/bin
保存退出。
讓環境變數生效:
# source .bash_profile
9. 添加用戶postgres
# adser postgres
* 更改用戶目錄(可選操作)
# vi /etc/passwd
把 postgres:x:528:528::/home/postgres:/bin/bash
改成 postgres:x:528:528::/usr/local/pgsql:/bin/bash
將.bash_profile 移動到新的用戶目錄並修改許可權
# cp /home/postgres/.bash_profile /usr/local/pgsql/
# chown postgres.postgres .bash_profile
刪除用戶目錄:
[root@TS-DEV home]# rm -rf postgres/
10. 初始化資料庫
10.1 新建數據目錄
# mkdir /usr/local/pgsql/data
10.2 更改許可權
# chown postgres /usr/local/pgsql/data
10.3 切換到postgres 用戶
# su - postgres
10.4 init db
$ /usr/local/pgsql/bin/initdb -D /usr/local/pgsql/data/
到這里數據的初始化就完成了。
11. 系統服務
11.1 回到root 用戶
$ exit
11.2 復制安裝目錄下的linux文件到/etc/init.d/
進入postgresql 的安裝目錄(即剛剛使用tar命令解壓的目錄)
# cd postgresql-9.2.4
# cp contrib/start-scripts/linux /etc/init.d/postgresql
11.3 添加執行許可權
# chmod +x /etc/init.d/postgresql
11.4 啟動資料庫
11.5 讓資料庫開機啟動
# chkconfig --add postgresql
# chkconfig postgresql on
11.6 創建資料庫操作的歷史記錄文件
12. 測試使用
# su - postgres
$ createdb test
$ psql test
test=# create table test(id int);
源碼編譯安裝成功。
❸ Postgresql將查詢結果導出到文件中
在pg命令行中,運行寫入文件命令
\o /tmp/test.csv
然姿猜後運行查詢語句
select * from table ;
結果滲冊中會保存到/tmp/test.csv中叢山
最後再運行
\o
再次打開屏幕輸出
❹ 關於postgre資料庫問題,求大神解答
處理辦法如下:
先連上豎笑postgres數據毀圓庫,然後執行余余含以下操作:
begin;
set transaction read write;
alter database xxx;
set default_transaction_read_only = off;
commit;
❺ sql語句怎麼查詢postgre資料庫用戶
查詢表pg_authid:
該系統表存儲有關叢源晌資料庫認證的角色信息,在PostgreSQL中角色可以表現為用戶滲鋒和組兩種形式。對於用戶而言只是設置了rolcanlogin標志的角色。由於該表包含口令數據,所以它不是公共可讀的。PostgreSQL中提供了另外一個建立在該表之裂昌上的系統視圖pg_roles,該視圖將口令欄位填成空白
❻ postgresql資料庫怎麼查詢所有的序列名
1、在查詢的時候一般使用*查詢代表查詢所有欄位信息,但表太大就不建議使用這種方式。
❼ 如何在CentOS 7/6.5/6.4 下安裝PostgreSQL 9.3 與 phpPgAdmin
PostgreSQL強源象關系類型資料庫系統能運行於幾乎所主要操作系統包括Linux、Unix(AIX、BSD、HP-UX、SGI
IRIX、Mac OS、Solaris、Tru64)、Windows OS篇教程我習何CentOS7/6.5/6.4 server
建立PostgreSQL
1.安裝PostgreSQL
首先根據伺服器架構添加PostgreSQL庫:
CentOS 6.x 32bit:
rpm -Uvh 1.noarch.rpm
CentOS 6.x 64bit:
rpm -Uvh
CentOS 7 64bit:
rpm -Uvh
於其發行版查看鏈接並建立庫:
使用命令更新庫:
yum update
使用命令安裝PostgreSQL:
yum install postgresql93-server postgresql93-contrib
使用命令初始化PostgreSQL資料庫:
CentOS 6.x 系統:
service postgresql-9.3 initdb
CentOS 7系統:
/usr/pgsql-9.3/bin/postgresql93-setup initdb
啟PostgreSQL服務並使機自啟:
CentOS 6.x 系統:
service postgresql-9.3 start
chkconfig postgresql-9.3 on
CentOS 7系統:
systemctl enable postgresql-9.3
systemctl start postgresql-9.3
2.調整Iptables/Firewall
接調整防火牆站規則:
CentOS 6.x系統:
vi /etc/sysconfig/iptables
並添加行
-A INPUT -m state --state NEW -m tcp -p tcp --dport 5432 -j ACCEPT
-A INPUT -m state --state NEW -m tcp -p tcp --dport 80 -j ACCEPT
退並保存文件重啟iptables服務:
service iptables restart
CentOS系統:
firewall-cmd --permanent –add-port=5432/tcp
firewall-cmd --permanent –add-port=80/tcp
firewall-cmd --reload
3.訪問PostgreSQL用命令提示符
默認情況資料庫名用戶名都postgres切換至用戶執行相關操作:
su – postgres
輸入命令登陸:
psql
例輸:
psql (9.3.5)
Type "help" for help.
Postgres=#
通輸入\q退postgresql返命令終端:
4.設置用戶密碼
登陸至postgres命令提示符界面
su – postgres
psql
使用命令設置密碼
postgres=# \password postgres
Enter new password:
Enter it again:
postgres=# \q
輸入命令建立PostgreSQL系統管理工具
postgres=# CREATE EXTENSION adminpack;
CREATE EXTENSION
5.創建用戶資料庫
例:用戶名:senthil 密碼:centos 資料庫名:mydb
轉postgres用戶
su – postgres
創建用戶senthil
$ createuser senthil
創建資料庫
$ createdb mydb
現登陸至psql提示符界面用戶senthil設置密碼及授權資料庫mydb訪問:
$ psql
psql (9.3.5)
Type "help" for help.
postgres=# alter user senthil with encrypted password 'centos';
ALTER ROLE
postgres=# grant all privileges on database mydb to senthil;
GRANT
postgres=#
6.刪除用戶資料庫
首先轉postgres界面
su – postgres
輸入命令
$ dropdb <database-name>
刪除用戶名輸入
$ dropuser <user-name>
7.配置PostgreSQL-MD5認證
MD5認證需要客戶端提供MD5-encrypted 密碼便身份驗證需要編輯 /var/lib/pgsql/9.3/data/pg_hba.conf文件:
vi /var/lib/pgsql/9.3/data/pg_hba.conf
添加或修改行:
[...]
# TYPE DATABASE USER ADDRESS METHOD
# "local" is for Unix domain socket connections only
local all all md5
# IPv4 local connections:
host all all 127.0.0.1/32 md5
host all all 192.168.1.0/24 md5
# IPv6 local connections:
host all all ::1/128 md5
[...]
重啟postgresql服務應用更改
CentOS 6.x系統
service postgresql-9.3 restart
CentOS 7系統
systemctl restart postgresql-9.3
8.配置PostgreSQL-Configure TCP/IP
默認情況TCP/IP連接行所其計算機用戶能連接postgresql編輯文件 /var/lib/pgsql/9.3/data/postgresql.conf允許連接:
vi /var/lib/pgsql/9.3/data/postgresql.conf
找面行:
[...]
#listen_addresses = 'localhost』
[...]
#port = 5432
[...]
兩行都取消並設置postgresql伺服器IP址或設置*監聽所客戶端所示:
listen_addresses = '*'
port = 5432
重啟應用更改
CentOS6.x系統:
/etc/init.d/postgresql-9.3 restart
CentOS7系統:
systemctl restart postgresql-9.3
9.使用phpPgAdmin管理PostgreSQL
phpPgAdmin使用PHP編寫基於web管理工具用於管理PostgreSQL適用與PostgreSQL RPM庫
沒添加PostgreSQL庫添加EPEL庫
根據面鏈接CentOS 6.x建立EPEL庫
CentOS 7參考面鏈接
使用命令更新庫
yum update
現輸入命令安裝phpPgAdmin:
yum install phpPgAdmin httpd
注意phpPgAdmin區寫要准確使用面所示寫
默認使用訪問phpPgAdmin若要遠程訪問需要繼續:
編輯文件/etc/httpd/conf.d/phpPgAdmin.conf
vi /etc/httpd/conf.d/phpPgAdmin.conf
修改加粗部:
[...]
Alias /phpPgAdmin /usr/share/phpPgAdmin
<Location /phpPgAdmin>
<IfMole mod_authz_core.c>
# Apache 2.4
Require all granted
#Require host example.com
</IfMole>
<IfMole !mod_authz_core.c>
# Apache 2.2
Order deny,allow
Allow from all
# Allow from .example.com
</IfMole>
</Location>
啟或重啟Apache服務
CentOS 6.x系統
service httpd start
chkconfig httpd on
CentOS 7系統
systemctl enable httpd
systemctl start httpd
現打瀏覽器並轉終於看面界面
使用前創建用戶登錄我用戶senthil密碼CentOS
能遇:Login failed
SELLinux能限制用戶連接PostgreSQL需輸入命令更改即:
setsebool -P httpd_can_network_connect_db 1
現應該能登錄
採用編譯安裝 或者集安裝看看wo 網名能解決問題
❽ 在linux中編譯PostgreSQL程序出現/usr/lib/ld cannot found -lpq
apt-get install 吧
或者yum
用repo里的穩
為啥第二天重新compile?
是configure出問題還是make還是make install呢?
如果你用的debian系列系統,用apt-get命令安裝postgresql,如果是red hat系列(比如rhel, centos等),請用yum命令安裝。如果不行,aptitude purge刪除干凈。
你別用redhat 9了,那個太老了,內核和現在已經差好遠了,打個比方,你在用Windows NT 4跑SQL Server 2008。哈哈,用Ubuntu 9.10 Server吧。
PgAdmin可以在 找到。看得出來你不怎麼會用Linux吧。
❾ 在postgresql中如何從資料庫中檢索出所有的表名
1、查看當前資料庫中所有的模式。
❿ 如何安裝PostgreSQL 9.2.4 For Windows
一、安裝准備 1.安裝介紹可瀏覽PostgreSQL在Windows 平台下的下載頁面,了解各種下載和安裝PostgreSQL的方法。 在Windows上安裝PostgreSQL最簡單的方法是從前面的下載頁面下載由EnterpriseDB公司維護的一鍵安裝程序,這個安裝程序將在Windows上安裝一個已編譯好的PostgreSQL資料庫軟體、一個圖形界面的管理程序pgAdmin、可選擇的有附加功能的增值模塊和過程語言。另外一個名叫StackBuilder的軟體也會安裝上,它可以幫助你下載或安裝附加模塊,如ODBC或JDBC驅動 2.安裝環境Win7旗艦版64位 postgresql-9.2.4-1-windows-x64.exe 二、安裝過程1. 開始安裝2. 選擇安裝目錄3. 選擇數據存放目御嘩錄 4.選擇數據存放目錄 該目錄在以後的使用過程中可以修改調整。5. 輸入超級用戶口令6. 監聽埠號設置 默認即可,以後使用中可以通過修改postgresql.conf進行調整。7. 高級選項-語言環境設置選擇Default locale 即可,中文簡體 新加坡(Chinese[Simplified], Singapore)未做嘗試,據說會導致查詢結果和排序效果不正確。8. 安裝進度9. 安裝結束之後可以利用 Stack Builder工具安裝PostgreSql相關局橋插件、驅動或工具。 選擇<遠程伺服器 進行軟體下載及桐拆猛安裝。 至此,完整軟體包的安裝結束。