PostgreSQL
La base de données la plus sophistiquée au monde.

Ouverture de session

Navigation

Contactez-nous

Administration du site :
"equipe chez postgresqlfr point org"

Contact presse :
"fr chez postgresql point org"

Contact association :
"bureau chez postgresqlfr point org"

Questions PostgreSQL :
 IRC :
  serveur irc.freenode.net
  canal #postgresqlfr

Recherche

Accéder aux archives

« Octobre 2008  
Lun Mar Mer Jeu Ven Sam Dim
  2 3 4 5
6 7 8 9 10 11 12
13 14 15 16 17 18 19
20 21 22 23 24 25 26
27 28 29 30 31  

Syndication

Flux XML

Sondage

Quelle est la version de PostgreSQL la plus répandue sur vos serveurs ?
8.3
10%
8.2
42%
8.1
40%
8.0
2%
7.4
6%
7.3 ou antérieure
0%
Nombre de votes: 48

Problèmes de création de tables sous postgresql

Technique - général | Problèmes de création de tables sous postgresql

Par msah le 01/03/2007 - 09:47

Bonjour Monsieur
Je dois installer une application (dialup admin) qui est l'interface web du serveur d'authentification Freeradius. L'application tourne derrière une base de données. Mais quand je lance l'exécution des scripts pour créer les différentes tables j'ai pas mal d'erreurs. L'application est conçue pour tourner derrière une base de données postgresql. Les différentes tables à creer sont: userinfo, baduser, totacct, mtotacct.
A l'exécution du script de userinfo j'ai les erreurs suivantes:
radiusdb=> \i userinfo.sql
psql:userinfo.sql:16: ERREUR: erreur de syntaxe sur ou près de «#» au caractère 1
psql:userinfo.sql:16: LIGNE 1 : #
psql:userinfo.sql:16: ^
radiusdb=>

Le script userinfo.sql est:
#
# Table structure for table 'userinfo'
#
CREATE TABLE userinfo (
id int(10) DEFAULT '0' NOT NULL auto_increment,
UserName varchar(30),
Name varchar(200),
Mail varchar(200),
Department varchar(200),
WorkPhone varchar(200),
HomePhone varchar(200),
Mobile varchar(200),
PRIMARY KEY (id),
KEY UserName (UserName),
KEY Departmet (Department)
);

A l'exécution de badusers.sql, j'ai les erreurs suivantes
radiusdb=> \i badusers.sql
psql:badusers.sql:13: ERREUR: erreur de syntaxe sur ou près de «#» au caractère 1
psql:badusers.sql:13: LIGNE 1 : #
psql:badusers.sql:13: ^

Le script de badusers.sql est
#
# Table structure for table 'badusers'
#
CREATE TABLE badusers (
id int(10) DEFAULT '0' NOT NULL auto_increment,
UserName varchar(30),
Date datetime DEFAULT '0000-00-00 00:00:00' NOT NULL,
Reason varchar(200),
Admin varchar(30) DEFAULT '-',
PRIMARY KEY (id),
KEY UserName (UserName),
KEY Date (Date)
);

A l'exécution du script totacct.sql j'ai les erreurs suivantes:
psql:totacct.sql:18: ERREUR: erreur de syntaxe sur ou près de «(» au caractère 42
psql:totacct.sql:18: LIGNE 2 : TotAcctId bigint(21) NOT NULL auto_increment,
psql:totacct.sql:18:

Le script de totacct.sql est:
CREATE TABLE totacct (
TotAcctId bigint(21) NOT NULL auto_increment,
UserName varchar(64) NOT NULL default '',
AcctDate date NOT NULL default '0000-00-00',
ConnNum bigint(12) default NULL,
ConnTotDuration bigint(12) default NULL,
ConnMaxDuration bigint(12) default NULL,
ConnMinDuration bigint(12) default NULL,
InputOctets bigint(12) default NULL,
OutputOctets bigint(12) default NULL,
NASIPAddress varchar(15) default NULL,
PRIMARY KEY (TotAcctId),
KEY UserName (UserName),
KEY AcctDate (AcctDate),
KEY UserOnDate (UserName,AcctDate),
KEY NASIPAddress (NASIPAddress),
KEY NASIPAddressOnDate (AcctDate,NASIPAddress)
);

A l'exécution du script mtotacct, j'ai les erreurs suivantes
radiusdb=> \i mtotacct.sql
psql:mtotacct.sql:17: ERREUR: erreur de syntaxe sur ou près de «(» au caractère 44
psql:mtotacct.sql:17: LIGNE 2 : MTotAcctId bigint(21) NOT NULL auto_increment,psql:mtotacct.sql:17: ^

Le script de mtotacct.sql est:
CREATE TABLE mtotacct (
MTotAcctId bigint(21) NOT NULL auto_increment,
UserName varchar(64) NOT NULL default '',
AcctDate date NOT NULL default '0000-00-00',
ConnNum bigint(12) default NULL,
ConnTotDuration bigint(12) default NULL,
ConnMaxDuration bigint(12) default NULL,
ConnMinDuration bigint(12) default NULL,
InputOctets bigint(12) default NULL,
OutputOctets bigint(12) default NULL,
NASIPAddress varchar(15) default NULL,
PRIMARY KEY (MTotAcctId),
KEY UserName (UserName),
KEY AcctDate (AcctDate),
KEY UserOnDate (UserName,AcctDate),
KEY NASIPAddress (NASIPAddress)
);

Aidez-moi à corriger ce script pour pour pouvoir créer les tables. Je bosse sous postgresql-8.1.4-1.FC5.1
Merci infiniment pour votre assistance.

Options d'affichage des commentaires

Sélectionnez la méthode d'affichage des commentaires que vous préférez, puis cliquez sur "Sauvegarder les paramètres" pour activer vos changements.

Ce sql n'est pas valide, util

sparky/ = 1 Mars, 2007 - 13:40

Ce sql n'est pas valide, utilise PhpPgAdmin ou pgadmin III pour recréer les tables, cela ira plus vite que corriger ton script.


Commentaires SQL

mikl/ = 1 Mars, 2007 - 18:05

Remplace les # par --, cela devrait fonctionner.


Spécificités SQL

SAS/ = 2 Mars, 2007 - 00:05

Bonjour,

Il semblerait que vous tentiez d'utiliser un script MySQL pour créer vos table...
auto_increment, par exemple, n'existe pas.

Librement,
Stéphane Schildknecht
dalibo
PostgreSQLFr


Non valide 1. KEY UserName (

sparky/ = 2 Mars, 2007 - 17:23

Non valide
1. KEY UserName (UserName),
KEY Departmet (Department)
2. auto_increment
...

Voici un lien qui va aider
http://docs.postgresqlfr.org/8.2/sql-createtable.html
et un autre parce que les types de données mysql sont parfois biscornues

http://docs.postgresqlfr.org/8.2/datatype.html#datatype-numeric

(bigint (21) == numeric(21), int(8) = ? double precision or int8 ?)


© PostgreSQLFr, tous droits réservés.
Site déclaré à la CNIL sous le numéro 1074678, conformément à la Loi en vigueur.