Vous n'êtes pas identifié(e).

#126 Re : Général » [RESOLU] Problème wal manquant pour archivage » 11/07/2013 10:42:31

je crois comprendre... les fichiers .ready sont toujours présents sous le répertoire archive_status. Est il possible de les supprimer à chaud ?

Merci

#127 Général » [RESOLU] Problème wal manquant pour archivage » 11/07/2013 10:31:56

pitpoule
Réponses : 5

Bonjour à tous,

Suite à un problème de FS full contenant les wal, les fichiers wal ont été supprimés (et pg_resetxlog a du être lancé derrière... mais je ne sais pas vraiment, je récupère le bébé). Maintenant le moteur se plaint car il n'arrive plus à archiver un certain xlog: normal il a été supprimé du disque, la copie échoue donc. Comment puis faire pour faire repartir l’archivage sur ses quatre pattes ?

Merci

Postgresql: 8.2

#128 Re : Général » [NEWBIE] Recherche plein texte qui ne retourne pas ce que j'attends... » 20/06/2013 13:45:04

Moi, j'ai utilisé les scripts généraux (ds2.tar.gz) pour créer une base de 1Gb. Les infos de ma base

Name              | ds2
Owner             | ds2
Encoding          | UTF8
Collate           | fr_FR.UTF-8
Ctype             | fr_FR.UTF-8
Access privileges |
Size              | 1624 MB
Tablespace        | pg_default

#129 Général » [NEWBIE] Recherche plein texte qui ne retourne pas ce que j'attends... » 20/06/2013 10:31:46

pitpoule
Réponses : 3

bonjour à tous,

Ma question doit être surement bête mais je n'arrive pas à comprendre... j'ai installé pour faire joujou une des bases "sample" de pgfoundry, la base "dell store"
Dans cette base existe une fonction qui fait de la recherche plein texte (si j'ai bien compris la fonction !)

CREATE OR REPLACE FUNCTION browse_by_actor(batch_size_in integer, actor_in text)
RETURNS SETOF products AS
$BODY$
DECLARE
  vector_in TEXT;
BEGIN
    vector_in := replace(trim(both from actor_in), ' ','&');
   RETURN QUERY SELECT * FROM PRODUCTS WHERE to_tsvector('simple',ACTOR) @@ to_tsquery(vector_in) LIMIT batch_size_in;
RETURN;
END;
$BODY$
  LANGUAGE plpgsql VOLATILE
  COST 100
  ROWS 1000;
ALTER FUNCTION browse_by_actor(integer, text)
  OWNER TO ds2;

Lorsque je fais cette recherche, j'ai un résultat

ds2=# select browse_by_actor(10,'TOM');


                    browse_by_actor
--------------------------------------------------------
 (396,1,"ACADEMY HANGING","TOM BRANDO",11.99,0,175497)
 (456,3,"ACADEMY INCH","TOM PACINO",16.99,0,281711)
 (533,5,"ACADEMY LOST","TOM OLIVIER",12.99,0,890719)
 (715,1,"ACADEMY RANGE","TOM BOGART",16.99,0,595664)
 (1182,6,"ACE CONTROL","TOM RYAN",25.99,0,384257)
 (1617,13,"ACE NATURAL","TOM DAY-LEWIS",10.99,0,313129)
 (1653,15,"ACE PANIC","TOM MCKELLEN",19.99,0,70037)
 (1725,4,"ACE REQUIEM","TOM LANCASTER",17.99,0,502027)
 (1826,11,"ACE SPEED","TOM MATTHAU",19.99,0,351249)
 (1849,13,"ACE STORM","TOM MIRANDA",11.99,0,932078)
(10 rows)

Tandis que si je fais

ds2=# select browse_by_actor(10,'LISA');
 browse_by_actor
-----------------
(0 rows)

Alors qu'il existe bien des "LISA" dans la colonne actor

ds2=# SELECT * FROM PRODUCTS WHERE ACTOR like '%LISA%' limit 10;
 prod_id | category |        title         |       actor       | price | special | common_prod_id
---------+----------+----------------------+-------------------+-------+---------+----------------
    6775 |        2 | AIRPLANE SEATTLE     | LISA TURNER       | 20.99 |       0 |         449863
    6944 |        6 | AIRPLANE VIRGIN      | LISA SINATRA      | 23.99 |       0 |         397913
    7056 |       13 | AIRPORT BAREFOOT     | LISA BACALL       | 29.99 |       0 |         175242
    7064 |        6 | AIRPORT BEETHOVEN    | LISA OLIVIER      | 15.99 |       0 |         446202
    7096 |        3 | AIRPORT BREAKING     | LISA LOLLOBRIGIDA |  9.99 |       0 |         694809
    7332 |       15 | AIRPORT FRANKENSTEIN | LISA CLOSE        | 28.99 |       0 |         379655
    7850 |        3 | AIRPORT STORY        | LISA MARTIN       | 24.99 |       0 |         924982
    8009 |       13 | ALABAMA ALABAMA      | LISA BOGART       | 28.99 |       0 |         902136
    8013 |       16 | ALABAMA ALI          | LISA BERGMAN      | 22.99 |       0 |         758305
    8041 |       11 | ALABAMA ARSENIC      | LISA MOORE        | 28.99 |       0 |          85891
(10 rows)

Je suis sur une version 9.2

Que se passe t'il ?

Merci

#130 Re : Général » [Débutant] Privilèges de création d'une table dans une base » 13/09/2010 09:51:04

Merci pour vos réponses, j'y vois un peu plus clair maintenant.

Un dernière pour la route : du coup quelles sont les bonnes pratiques à avoir sur une base de prod ? On doit systématiquement créer un nouveau schéma "privé" pour chaque base ?

#131 Re : Général » [Débutant] Privilèges de création d'une table dans une base » 10/09/2010 16:39:22

Marc Cousin a écrit :

Que le REVOKE sur database n'est pas récursif : il revoke les droits sur l'objet DATABASE, pas sur les objets qu'il contient.

J'ai du mal à saisir, créer une table dans une base ce n'est pas un droit sur l'objet DATABASE ?
Quelle serait alors la commande correcte ?

#132 Re : Général » [Débutant] Privilèges de création d'une table dans une base » 10/09/2010 16:11:38

Je reviens à la charge parce que je n'arrive pas à faire ce que je veux avec le revoke.

Je reprends depuis le début. Je crée une base toto

postgres=# create database toto;
CREATE DATABASE

Je crée ensuite l'utilisateur pitpoule

postgres=# create database toto;
CREATE DATABASE

Je revoke tous les droits à public et pitpoule pour être sur que personne ne peut rien faire

postgres=# REVOKE ALL ON DATABASE toto from public;
REVOKE
postgres=# REVOKE ALL ON DATABASE toto from pitpoule;
REVOKE

J'essaye de me connecte avec pitpoule, je n'y arrive pas, logique

root:/var/pgsql8.4/data# psql -U pitpoule -d toto 
psql: FATAL:  permission denied for database "toto"
DETAIL:  User does not have CONNECT privilege.

Maintenant je donne juste les droits de connect à pitpoule et j'arrive quand même à créer un table

postgres=# GRANT CONNECT ON DATABASE toto to pitpoule;
GRANT
root:/var/pgsql8.4/data# psql -U pitpoule -d toto 
psql (8.4.4)
Type "help" for help.

toto=> create table test (i integer);
CREATE TABLE

?? Qu'est ce que j'ai loupé ?

#134 Général » [Débutant] Privilèges de création d'une table dans une base » 10/09/2010 10:55:35

pitpoule
Réponses : 10

Bonjour à tous,

J'ai une question (sûrement toute bête) sur la création de table dans une base (moteur en version 8.4).

Je crée une base avec l'utilisateur postgres (superadmin) : toto
Je crée un utilisateur basique : titi (juste un "create user").

Je donne les droits à l'utilisateur titi de se connecter sur la base toto et il a le droit de créer des tables. C'est normal ? (j'imagine que oui tongue), Peut on limiter ce droit ?

Merci pour votre aide

Pied de page des forums

Propulsé par FluxBB