odbc with debian woody/postgres

Started by Matt Priceover 23 years ago7 messagesgeneral
Jump to latest
#1Matt Price
matt.price@utoronto.ca

Hi there,

I'm trying to get odbc to work on my machine. Here's the setup:
Debian Woody with Postgresql 7.2; unixodbc and odbc-postgresql also
installed. I followed the directionsi n the 'Debian HOWTO' that comes
with the odbc-postgresql package, so my odbcinit.ini looks like this:

[PostgreSQL]
Description = PostgreSQL ODBC driver for Linux and Windows
Driver = /usr/lib/postgresql/lib/libodbcpsql.so
Setup = /usr/lib/odbc/libodbcpsqlS.so
Debug = 0
CommLog = 1
FileUsage = 1

My odbc.ini currently looks like this (slightly modified from the
original):

[PostgreSQL]
Description = PostgreSQL template1
Driver = PostgreSQL
Trace = No
TraceFile = /tmp/odbc.log
Database = template1
Servername = localhost
UserName = postgres
Password = postgres
Port = 5432
Protocol = 6.4
ReadOnly = Yes
RowVersioning = No
ShowSystemTables = No
ShowOidColumn = No
FakeOidIndex = No
ConnSettings =

and the relevant lines of pg_hba.conf are the following:
local all trust
host all 127.0.0.1 255.0.0.0 ident
sameuser
host all 0.0.0.0 0.0.0.0 reject

With this setup I can't seem to get odbc towork. I should note that
psql works fine, and that odbc works fine with mysql (I've left the
mysql bits of the odbc*.ini files out) -- in fact, it worked right out
of the box, which was kind of amazing given how hard a time I'm having
with postgresql). using isql I get the following error:
-------------------
isql Postgresql -v
[unixODBC]FATAL 1: IDENT authentication failed for user "postgres"

[ISQL]ERROR: Could not SQLConnect
-----------------
I'm doing all this directly from the shell, so I don't understand why
Postgres is using the 'ident' verification method. Can anyone give me
any pointers? Again, I've had no problem iwth psql or the mysql/odbc
combination, so I assume something is wrongwith my setup for
postgres. Thanks,
Matt

ps: assuming I get thisworking, how do I add other database names to
odbc.ini? Do I need whole new sections (like
"[Postgresql/dbname]") or can I just add the dbnames to the Database
line of the file?

#2Michael Meskes
meskes@postgresql.org
In reply to: Matt Price (#1)
Re: odbc with debian woody/postgres

On Wed, Oct 09, 2002 at 02:22:38AM -0400, Matt Price wrote:

local all trust
host all 127.0.0.1 255.0.0.0 ident

Here you tell PostgreSQL to use ident.

ps: assuming I get thisworking, how do I add other database names to
odbc.ini? Do I need whole new sections (like
"[Postgresql/dbname]") or can I just add the dbnames to the Database
line of the file?

Sorry I don't fully understand that. You define one ODBC conenction for
exactly one database, so what are you looking for?

Michael
--
Michael Meskes
Michael@Fam-Meskes.De
Go SF 49ers! Go Rhein Fire!
Use Debian GNU/Linux! Use PostgreSQL!

#3Matt Price
matt.price@utoronto.ca
In reply to: Michael Meskes (#2)
Re: odbc with debian woody/postgres

Thanks Christoph, I'm going to try this. But I'm having a little
trouble figuring out how to get postmaster to start up at boot time
with the -i option. This is a debian-specific problem -- I don't
really understand the script in /etc/init.d and I can't figure out
which line therein I need to modify in order to get it to start up
with TCP/IP listening. I don't see an obvious call to postmaster...
anyone familiar with this script know what I should do? thanks
m

Show quoted text

On Wed, Oct 09, 2002 at 10:28:47AM +0200, Christoph Dalitz wrote:

On Wed, 09 Oct 2002 02:27:10 -0400
pgsql-general-owner@postgresql.org wrote:

Date: Wed, 9 Oct 2002 02:22:38 -0400
From: Matt Price <matt.price@utoronto.ca>
To: debian users <debian-user@lists.debian.org>,
pgsql-general@postgresql.org
Subject: odbc with debian woody/postgres
Message-ID: <20021009062238.GA1733@utoronto.ca>

My odbc.ini currently looks like this (slightly modified from the
original):

[PostgreSQL]
Description = PostgreSQL template1
Driver = PostgreSQL
Trace = No
TraceFile = /tmp/odbc.log
Database = template1
Servername = localhost

If you only want a local connection via Unix Domain Sockets to your database, you
should leave "Servername" empty. Otherwise you will need to run postmaster with the
"-i" option so that it listens on TCP/IP connections.

Without "Servername", the following pg_hba.conf entry should be sufficient:

local all trust

Becuse of "trust", you can omit the Password in odbc.ini.

BTW you should consider creating a second database and a database user for
your application; working always as superuser might not be what you want.

Hope this helps,

Christoph Dalitz

#4Markus Gieppner
viking@mgfint.com
In reply to: Matt Price (#3)
High-end PGSQL / Business Intelligence

For those of you who are trying to promote PostGreSQL or simply to
demonstrate PG's potential capabilities, you might look at this article in
Network Fusion about Netezza: They announced their "NPS 8000" database
appliance that runs on Linux and is built on PostGreSQL. According to the
article, they achieve 300%-1000% performance increases in BI applications
compared to traditional (eeeh... Oracle-Sun-EMC ) systems for half of the
price.

http://www.nwfusion.com/news/2002/1007infranetezza.html
http://www.netezza.com/index.html

If this has already been mentioned here please disregard.

Markus

Disclaimer: I am NOT affiliated with Netezza, nor PostGreSQL, nor Oracle,
Network Fusion nor ...
---
Outgoing mail is certified Virus Free.
Checked by AVG anti-virus system (http://www.grisoft.com).
Version: 6.0.394 / Virus Database: 224 - Release Date: 10/3/2002

#5Herbert Liechti
Herbert.Liechti@thinx.ch
In reply to: Matt Price (#3)
Re: odbc with debian woody/postgres

Am Mittwoch, 9. Oktober 2002 18.07 schrieben Sie:

Thanks Christoph, I'm going to try this. But I'm having a little
trouble figuring out how to get postmaster to start up at boot time
with the -i option. This is a debian-specific problem -- I don't
really understand the script in /etc/init.d and I can't figure out
which line therein I need to modify in order to get it to start up
with TCP/IP listening. I don't see an obvious call to postmaster...
anyone familiar with this script know what I should do?

You have to change the file postgresql.conf in /etc/postgresql
There is configuration entry for starting tcp/ip listening:

# TCP/IP access is allowed by default, but the default access given in
# pg_hba.conf will permit it only from localhost, not other machines.
tcpip_socket = 1

Be sure that your pga_hba.conf is set up correctly.

Best regards
Herbie

--
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
Herbert Liechti http://www.thinx.ch
The content management company. Visit http://www.contentx.ch
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~

#6Matt Price
matt.price@utoronto.ca
In reply to: Herbert Liechti (#5)
Re: odbc with debian woody/postgres

danke herbie. kleine frage:

what should the variable "tcpip_socket" be set to to allow tcp/ip
connections?
m

Show quoted text

# TCP/IP access is allowed by default, but the default access given in
# pg_hba.conf will permit it only from localhost, not other machines.
tcpip_socket = 1

Be sure that your pga_hba.conf is set up correctly.

Best regards
Herbie

--
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
Herbert Liechti http://www.thinx.ch
The content management company. Visit http://www.contentx.ch
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~

#7Herbert Liechti
Herbert.Liechti@thinx.ch
In reply to: Matt Price (#3)
Re: odbc with debian woody/postgres

Am Mittwoch, 9. Oktober 2002 18.07 schrieben Sie:

what should the variable "tcpip_socket" be set to to allow tcp/ip
connections?

tcpip_socket = 1

It's working for me without any problems. We have the application server and
database server on seperate machines.

Best Regards Herbie

Be sure that your pga_hba.conf is set up correctly.

--
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
Herbert Liechti http://www.thinx.ch
The content management company. Visit http://www.contentx.ch
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~